我想使用修改iptables并将rtmpsuck作为守护进程启动的脚本。

我当前的脚本是:

 #!/bin/bash

 function help_txt {
   package="enable-rtmpsuck"

   echo "$package - setup rtmpsuck to intercept rtmp streams and start rtmpsuck as a deamon"
   echo " "
   echo "sudo $package [options]"
   echo " "
   echo "options:"
   echo "-p, --path                specify download path (default is the current directory)"
   echo " "
   echo "Please note that this script needs root privileges to work."
 }


 if [ $# -eq 0 ]
 then
   path="$PWD"
 elif [ $# -eq 2 -a \( "$1" == "-p" -o "$1" == "--path" \) -a -d "$2" ]
 then
   path="$2"
 else
   help_txt
   exit 1
 fi

 if [[ "$(id -u)" == "0" ]]
 then
   cd "$path"
   echo "changed directory to: $path"
   iptables -t nat -A OUTPUT -p tcp --dport 1935 -m owner ! --uid-owner root  -j REDIRECT
   echo "redirect all rtmp traffic to rtmpsuck"
   setsid sudo rtmpsuck >/dev/null 2>&1 &
   PID="$!"
   echo "$PID" > /tmp/.rtmpsuck_pid
   echo "started rtmpsuck deamon"
 else
   help_txt
   exit 1
 fi

一切正常,但如果我这样启动,rtmpsuck将使用96%的CPU。 有什么办法可以使其正常行为接近CPU使用率的0%?

我正在使用Linux Mint 17.1。

  ask by user1861174 translate from so

本文未有回复,本站智能推荐:

3回复

如何在Linux下从C程序/守护程序启动firefox

我从用C编写的Linux守护程序启动firefox时遇到一些问题。当我使用/usr/bin/firefox从命令外壳在计算机上(通过终端)启动firefox时,它工作正常,并且firefox浏览器窗口启动应该。 但是,如果我使用system("/usr/bin/firefox")在C守护进程
2回复

PHP脚本作为守护程序

我是php守护程序的新手。 我正在使用以下脚本来启动Daemon.php脚本。 但是我在通过shell执行以下bash脚本时遇到错误 错误是 请帮助我解决此错误
1回复

Unix守护程序服务错误(使用框架模板)。启动但状态显示它不起作用

在/usr/local/sleep/sleep.py中,我有 我试图用骨架模板启动它 它看起来像runnibg sleep.py文件,但当我检查状态时,它没有任何运行。 如何使它正确运行? 那这是什么 线是什么意思? 谢谢
1回复

Docker将程序作为守护程序运行

我有一个要在docker(squid)中运行的程序,该程序仅在以守护程序模式运行时才按需执行。 我的问题是,给定一个sh入口点,如何在不退出docker的情况下保持程序在后台运行? 这是我的(简化的)入口点:
3回复

如果构造不需要括号?

我正在为shell脚本类做一些功课,并且有一个问题要求我编写一个脚本来测试输入的参数是否是有效的shell变量名。 下面的脚本似乎工作正常。 我知道括号是BASH shell中测试功能的简写。 我的问题是,当我使用括号尝试上述脚本时,出现错误。 这个问题(我相信)是grep试图使用]
6回复

Linux守护程序和STDIN/STDOUT

我正在研究一个linux守护进程,并且在stdin / stdout上遇到了一些问题。 通常由于守护程序的性质,您没有任何标准输入或标准输出。 但是,我的守护进程中确实有一个函数,当守护进程第一次运行时调用该函数来指定守护进程成功运行所需的不同参数。 当调用此函数时,终端变得如此迟缓,以至
1回复

在后台运行的Linux守护程序

我有以下代码在centos 6.6下的/etc/init.d/中运行: 它工作正常,我想使其在后台运行。 搜索后的理解是bash参数“ $”(不带引号)负责任何进程/脚本的后台运行。 因此,我尝试了以下方法: 在行的末尾或通过管道将'&'参数添加如下: 和 谁能给我一个建
6回复

如何在Linux上管理基于Python的守护程序?

我有一个基于Python的程序,我想作为一个守护进程运行。 目前我正在以一种非常黑客的方式使用screen -d -m name会话启动它并使用pkill -9 -f name其终止。 最终我要把它移到我们在这里使用的更好的系统(因此我不愿意修改程序 )但是在此期间,我正在寻找一种更清洁的