2012-08-27 50 views
1

所以我运行一个python脚本杀死后台程序: 它在后台 启动记录程序是否一堆东西。 然后停止记录程序。从另一个程序

所以我有两个问题: 1)我明白运行后台程序,我可以打电话: 使用os.system(“test_log_prog & ”) ,但我也可以这样做: 使用os.system(“ test_echo_prog> logfile.log &“) 还是等价的东西?

2)如何关闭test_echo_prog? 为程序,我使用pkill“test_log_prog”,但由于某些原因,它不工作时使用> logfile.log .....

在此先感谢!

干杯!

回答

3

您可以使用Python的os.kill其kill命令来杀死一个过程,发送多数为任意信号之如SIGTERM或SIGINT。如果它不死,请尝试SIGKILL。

您可以使用pidof程序查找进程的pid,或者如果使用subprocess.Popen,您可以从popen对象获取pid,而无需产生其他子程序。 os.system不再受到很大的青睐,至少不会与子进程相比.Popen。

+0

谢谢!使用Popen,它完全按照我的意愿。 –