linux下测试kill主程序后,子进程自动关闭

 时间:2026-02-12 21:01:20

1、我这里使用subprocess创建子进程

subprocess.Popen(...)创建一个子进程

Popen.wait()等待子进程退出

Popen.kill()杀掉子进程

Popen.returncode子进程的返回码,当子进程没有退出时,返回NULL

2、创建子进程类,包含一个Run函数,用来启动gedit子进程

linux下测试kill主程序后,子进程自动关闭

3、添加一个关闭该子进程的函数,调用kill来关闭子进程

linux下测试kill主程序后,子进程自动关闭

1、在主程序中引入子进程类

然后运行子进程

2、signal.signal(signalnum, handler)

当指定的signalnum触发时,python会调用含有两个参数的handler对象

当使用kill pid命令时,会触发SIGTERM信号,可以被python捕获

当使用kill -9 pid命令是,会触发SIGKILL信号,不能被python不会

所以这里使用SIGTERM信号,并使用kill pid命令

对于kill -9 pid命令杀掉主进程的子进程关闭,暂时还没有找的解决方法

1、使用python运行程序,会启动gedit编辑器

linux下测试kill主程序后,子进程自动关闭

2、查看gedit和python的进程号

可以看到59859的gedit的父进程是59858的python

linux下测试kill主程序后,子进程自动关闭

3、使用kill 59858命令关闭父进程,再次查看进程列表,相应的子进程59859也被杀掉了

linux下测试kill主程序后,子进程自动关闭

  • MathType怎么输入小写缪
  • 怎么设置不检查拼写或语法
  • Visio中如何导入Access数据库
  • 正弦余弦正切函数值是
  • 作为屌丝如何逆袭?
  • 热门搜索
    保佑的意思 集思广益的意思 餐饮费计入什么科目 什么是性幻想 省略号有哪些作用 brother是什么意思 清晰的什么 翘楚是什么意思 集美是什么意思 君子不器是什么意思