python - 从另一个程序中杀死后台程序

标签 python linux background

所以我正在运行一个 python 脚本: 它在后台启动一个日志程序 做了一堆东西。 然后停止记录程序。

所以我有两个问题: 1)我知道要运行后台程序,我可以调用: os.system("test_log_prog &") 但我也可以这样做: os.system("test_echo_prog > logfile.log &") 或类似的东西?

2) 如何关闭 test_echo_prog? 对于这个程序,我使用的是 pkill "test_log_prog"但由于某种原因它在使用 > logfile.log 时不起作用......

提前致谢!

干杯!

最佳答案

您可以使用 Python 的 os.kill 通过其 pid 终止进程,向其发送一个几乎任意的信号,如 SIGTERM 或 SIGINT。如果它不会死,请尝试 SIGKILL。

您可以使用 pidof 程序查找进程的 pid,或者如果您使用 subprocess.Popen,您可以从 popen 对象中获取 pid,而无需生成另一个子程序。 os.system 不再受到青睐,至少与 subprocess.Popen 相比是这样。

关于python - 从另一个程序中杀死后台程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12150321/

相关文章:

python - Pandas - 在索引中使用 merge_asof 函数

python - PyInstance_NewRaw() 与新旧样式类

linux - 在 git 上的两个项目之间使用符号链接(symbolic link)

iOS 后台应用程序 : best way to run app

python - 使用 matplotlib 绘制 2D 像素图

python imaplib 读取gmail

javascript - HTML 中的随机图像背景

css - 如何制作没有透明度重叠的倾斜CSS背景?

linux - 取消设置 IFS - 意外行为

c++ - 在字符串上使用 open (unix)