标签: daemon

如何在Perl中编写简单的HTTP代理?

我不想使用HTTP :: Proxy包,因为我想要转储几个请求.我的一个班轮看起来像这样,但在试图传递标题时打破了:

perl -MData::Dumper -MHTTP::Daemon -MHTTP::Status -MLWP::UserAgent -e 'my $ua = LWP::UserAgent->new;my $d=new HTTP::Daemon(LocalPort=>1999);print "Please contact me at: <", $d->url, ">\n";while (my $c = $d->accept) {while (my $r = $c->get_request) {if ($r->method eq 'GET' and $r->url->path eq "/uploader") {$c->send_response("whatever.");print Dumper($r);}else{$response=$ua->request($r->method,"http://localhost:1996".$r->uri,$r->headers,$r->content);$c->send_response($response);}}}'
Run Code Online (Sandbox Code Playgroud)

格式化,那是:

#perl -e '
use Data::Dumper;
use HTTP::Daemon;
use HTTP::Status;
use LWP::UserAgent;
my $ua = LWP::UserAgent->new;
my $d=new HTTP::Daemon(LocalPort=>1999);
print "Please contact me at: < ", $d->url, " >\n";
while (my $c = $d->accept) {
  while (my $r = …
Run Code Online (Sandbox Code Playgroud)

perl proxy daemon http

1
推荐指数
1
解决办法
5237
查看次数

守护进程将输出写入文件两次而不是一次在C++中

我写了一个守护进程,将"Beat"一词写入文件,然后以15秒的间隔跟进当前日期和时间.但是,每次检查输出文件时,守护程序似乎输出两次,如下所示:

击败:2010年1月1日星期五18:09:01

击败:2010年1月1日星期五18:09:01

它应该只在进入的地方.整个代码位于http://pastebin.com/m27a81981(我不想在这里粘贴它,因为整个事情有点长.).写入文件的功能是

get_time();
ofstream outputFile("heart.txt", ios::app);
beat = "\nBeat: " + gtime + "\n";
outputFile << beat;
outputFile.close();
Run Code Online (Sandbox Code Playgroud)

提前致谢.

c++ daemon file

1
推荐指数
1
解决办法
461
查看次数

Ruby后台服务

我有一个用Ruby编写的TCPclient.我想在后台使用它.目前它有一个循环:

loop do
end
Run Code Online (Sandbox Code Playgroud)

所以我可以运行一个客户端,它永远有效.

有没有办法作为服务运行,并写一个pid文件,然后我将能够通过pid杀死该进程?

ruby service daemon background tcpclient

1
推荐指数
1
解决办法
231
查看次数

如何编写守护进程

有谁知道怎么写守护进程?我想写一个守护进程,它执行一个脚本将文件从一个特定目录移动到另一个目录.

bash daemon

1
推荐指数
1
解决办法
1360
查看次数

我写了一个简单的守护进程,请提示改进(bash/python-Ubuntu)

我有一个bash脚本,基本上使用mplayer启动音频流:

#!/bin/bash
# startmusic.sh
/usr/bin/mplayer http://www.audiostream.com
Run Code Online (Sandbox Code Playgroud)

我想要确定的是,如果mplayer因任何原因而崩溃或结束,它会自动重启.因此,我每分钟运行一个cron作业,这也是一个bash脚本:

#!/bin/bash
# interval.sh
if [ -z "$(pgrep mplayer)" ]; then
 #restart music
 (
  exec </dev/null
  exec >/dev/null
  exec 2>/dev/null
  umask 0
  cd /
 bash /home/user/startmusic.sh
 ) &
else
 echo "music already playing, no need to restart startmusic.sh"         
fi
Run Code Online (Sandbox Code Playgroud)

使这个脚本不是很有用的一个奇怪的事情是,似乎mplayer正在启动2个实例,如果播放器停止(例如,当连接丢失时),只有1 mplayer实例退出,仍然留下一个.由于我的编程技巧非常简陋,我非常感谢任何(易于实现)的解决方案.在此先感谢/ J.

bash daemon mplayer

1
推荐指数
1
解决办法
806
查看次数

适当的linux目录安装php守护进程

我们有一个使用php开发的守护进程的应用程序.到目前为止,我们已经在文档根目录中运行它.但是我们现在已经从主Web应用程序中隔离了我们的守护程序代码,因此在文档根目录中不再需要它.安装此类应用程序的适当目录是什么?

php installation daemon

1
推荐指数
2
解决办法
724
查看次数

如何从PHP脚本与python守护进程通信

我正在为我的公司制作扫描服务器,它将用于从nessus,nmap,nikto等工具启动扫描.我用PHP编写了这些页面,但我需要控制后续进程(生成因为我需要在扫描完成后执行各种操作(例如通过电子邮件发送,从nessus服务器上下载报告等),使用nohup并使用&).

我被建议在这里创建一个PHP页面与之通信的python守护进程.我已经无休止地搜索了,但是我从初学者的角度找不到任何能够解释通信背后逻辑的东西(编写一个守护进程将是我最先进的项目).我知道IPC和unix域套接字,但我不知道如何在我的情况下使用它们.因此,我正在听取一些建议或指示我应该做什么.

我以为我可以使用while循环创建一个python脚本,该循环不断检查进程是否已终止,何时进行,执行适当的后进程终止操作.该脚本将被守护,因此它在后台运行,我将从PHP页面调用它,并将PID作为参数,例如我可以使用argparse模块访问它.

我在逻辑方面是正确的 - 还是有更好的解决方案?

任何帮助,或只是谷歌的东西,非常感谢!谢谢

php python daemon ipc

1
推荐指数
1
解决办法
1695
查看次数

Celery Daemon在Centos 7上不起作用

我试图在具有systemd / systemctl的Centos 7上运行celery守护程序。它不起作用。

  • 我尝试了一个非守护程序的案例,它奏效了
  • 我运行了〜mytask,它在客户端计算机和运行celery守护程序的服务器上冻结了,我什么都没有记录。
  • 我注意到实际上没有任何芹菜处理程序正在运行。

有什么建议解决此问题吗?

这是我的守护程序默认配置:

CELERYD_NODES="localhost.localdomain"
CELERY_BIN="/tmp/myapp/venv/bin/celery"
CELERY_APP="pipeline"
CELERYD_OPTS="--broker=amqp://192.168.168.111/"
CELERYD_LOG_LEVEL="INFO"
CELERYD_CHDIR="/tmp/myapp"
CELERYD_USER="root"
Run Code Online (Sandbox Code Playgroud)

注意:我使用以下命令启动守护进程

sudo /etc/init.d/celeryd start
Run Code Online (Sandbox Code Playgroud)

我从以下网址获得了celery守护程序脚本:https : //raw.githubusercontent.com/celery/celery/3.1/extra/generic-init.d/celeryd

我还尝试了以下方法之一:https : //raw.githubusercontent.com/celery/celery/3.1/extra/generic-init.d/celeryd, 但这在尝试启动守护程序时向我显示了一个错误:

systemd[1]: Starting LSB: celery task worker daemon...
celeryd[19924]: basename: missing operand
celeryd[19924]: Try 'basename --help' for more information.
celeryd[19924]: Starting : /etc/rc.d/init.d/celeryd: line 193: multi: command not found
celeryd[19924]: [FAILED]
systemd[1]: celeryd.service: control process exited, code=exited status=1
systemd[1]: Failed to start LSB: celery task worker daemon.
systemd[1]: Unit celeryd.service …
Run Code Online (Sandbox Code Playgroud)

python daemon celery systemd centos7

1
推荐指数
1
解决办法
4795
查看次数

如何使用pm2启动node.js应用程序

我使用以下命令安装了pm2模块:
npm install pm2 @ latest

然后我尝试使用
pm2 启动我的测试应用程序,如下所示: $ pm2 start test.js

它会引发以下错误:
'pm2'无法识别为内部或外部命令

我需要为pm2设置环境变量吗?

daemon monitor node.js pm2

1
推荐指数
2
解决办法
2906
查看次数

连接到自己的网络守护程序意味着什么?

我目前正在overoverwire.org上进行强盗战争游戏(针对那些不知道这是一个网站的人,他们需要执行不同的任务以提高自己的黑客技能)。我以前做过它们,但是我很早就被卡住了,我用扰流板对它们进行了爆炸。这样做的好处是,它为“可重播性”留了很多空间。xD现在我在bandit20,我需要使用一个可执行文件:

/home/bandit20/suconnect
usage: ./suconnect <port number>
Run Code Online (Sandbox Code Playgroud)

“将使用TCP连接到本地主机上的给定端口。如果它从另一端收到正确的密码,则将下一个密码发送回去。”

我最初的反应是拉出nmap并寻找开放端口。我确实找到了一些打开的,其中一些正在运行echo和一些openssl。总共有5个开放的端口,无论运行的服务如何,我还发现使用ps -alx在后台运行的netcat监听另一个第6个端口。

现在,任务说明显示:

[文件]在您指定为命令行参数的端口上与本地主机建立连接。然后,它从连接中读取一行文本,并将其与上一级密码(bandit20)进行比较。如果密码正确,它将传输下一级密码(bandit21)。注意:尝试连接到您自己的网络守护程序,以查看其是否按您的想法工作

我使用预期的语法尝试了找到的所有6个端口,但它们均未返回任何内容。我确实在扰流板的博客上找到了网站上的一个较旧的描述,内容是:

要达到此级别,您需要登录两次:一次运行setuid命令,一次启动setuid将连接到的网络守护程序。

我尝试过两次sshing,并使用二进制文件在所有这些端口和第二个窗口中进行侦听,但是它什么也没做。问题是在我运行二进制文件后,它给了我一个空白命令行,但是无论我键入什么,它都没有任何输出。我在文件上使用了字符串,但我发现它确实存在无法连接的失败消息,错误的密码,正确的密码等,但我没有收到任何信息。

我希望在这种情况下更多地了解基本概念,而不是交给解决方案。我不确定连接到您自己的网络守护程序意味着什么(我尝试使用Google谷歌搜索并在youtube上查找,但我不太了解网络守护程序是什么,或者连接到网络守护程序意味着什么)。还必须运行2个终端似乎很重要,因为他们将其取出来了,但是在这种情况下,我似乎无法弄清楚您应该怎么做或应该使用它做什么。另外,要侦听我使用netcat的本地主机上的端口,请不确定是否还有其他更好的方法,或者您是否应该使用其他任何方法。

任何反馈都非常感谢,谢谢:)

networking daemon setuid bandit

1
推荐指数
1
解决办法
3645
查看次数