使用结构和屏幕运行分离的过程

时间:2014-08-12 17:24:13

标签: python linux fabric nohup

根据FAQ,从推荐的运行分离过程的方法来看,唯一适合我的方法是screen因为我无法在服务器上安装程序而且看起来不会使nohup工作。我想:

  • 运行(命令),以便命令保持运行而不会阻塞。
  • 知道我正在运行的进程的pid,以便我可以在以后杀死它。

到目前为止,没有nohup重定向和screen -md command的组合对我有用。

特别是,运行此命令行在直接在服务器上执行时可以正常工作,但不能通过结构的运行功能运行。我相信当函数返回时,进程已关闭,我没有时间看到它:

nohup /opt/logstash/bin/logstash agent -f /home/unicryo/PVSS_projects/GenerateErrors/logstash_conf/logstash-config-minimum.cfg >> test.out 2>&1 &

1 个答案:

答案 0 :(得分:1)

您无法nohup此过程,因为它是Fabric的not really supported

我强烈建议通过流程管理器(see Fabric's documentation suggestions)运行此命令,因为它更易于管理(例如service logstash stop而不是在屏幕会话中查找运行命令)并且更清洁,但是你应该能够通过Fabric获得类似下面的内容:

run("screen -d -m '/opt/logstash/bin/logstash agent -f /home/unicryo/PVSS_projects/GenerateErrors/logstash_conf/logstash-config-minimum.cfg'")