如何定位已启动但失去控制的进程?
在使用 multiprocessing 启动进程时,可能会遇到进程 a 终止而留有处于活动状态的进程 b 的情况。这时,需要找到已启动的进程 b 并将其停止。
以下是几种可以用来查找和停止已启动进程的方法:
1. 保存进程 pid
在启动进程 b 时,将 b 的 pid 保存到文件中。当需要停止进程 b 时,读取文件中的 pid 并使用 kill 命令将其停止。
# 保存进程b的pid with open("process_b.pid", "w") as file: file.write(str(p.pid))
登录后复制
# 使用kill命令来停止进程b kill $(cat process_b.pid)
登录后复制
2. 使用进程组
设置进程 b 为进程组的组长,当进程 a 退出时,进程 b 也将退出。
os.setpgid(0, 0)
登录后复制
保存进程 b 组的组 id 到文件中。
with open("process_b_gid", "w") as file: file.write(str(os.getpgid(p.pid)))
登录后复制
停止进程 b 组:
kill -- -$(cat process_b_gid)
登录后复制
3. 命令行工具
使用 ps 命令查找进程 b:
ps aux | grep '进程b的一些特征'
登录后复制
4. 第第三方库
安装 psutil 库并使用其 psutil.process_iter 函数查找进程 b:
for proc in psutil.process_iter(['pid', 'name', 'cmdline']): if '进程B的一些特征' in proc.info['name'] or '进程B的一些特征' in str(proc.info['cmdline']): print(f"找到进程B: PID={proc.info['pid']}")
登录后复制
以上就是如何查找并终止失去控制的子进程?的详细内容,更多请关注抖狐科技其它相关文章!
-
手机感光传感器有哪些
手机感光传感器是将光线转化为电信号的组件,捕捉图像和视频。常见的类型包括:cmos:功耗低,图像质量好,支持高分辨率视频。ccd:图像质量高,功耗高,成本高。背照式:最大程度地提高进光量,提升图像质量...
-
qq怎么查认识好友天数
通过qq聊天记录可查询与好友认识天数。具体步骤:1. 打开好友聊天窗口。2. 点击“聊天记录”。3. 设时间范围为“最开始”。4. 查看最早消息时间。例如,最早消息显示为“2023-01-01 10:...
-
小红书怎么不被限流解决
避免小红书限流的有效方法:发布原创高品质内容;使用相关且合适的标签;避免过度发布,建议每天 1-3 篇;与受众互动,回复评论和问题;使用小红书官方工具,如推广笔记和商业笔记;遵守社区准则,避免发布违规...
-
fgo9周年福袋
“9周年福袋召唤(5周年及以后,17个展馆划分)” 期间:2024年8月4日(星期日)18:00~2024年8月14日(星期三)12:59 以上就是fgo9周年福袋的详细内容,更多请关注php中文网其...
-
前后端分离还是不分离?应届生求职该如何选择技术栈?
前后端分离还是不分离:互联网IT行业的趋势 随着技术的发展,互联网IT行业对于软件架构提出了不同的要求。对于前后端分离还是不分离的问题,一直是业界讨论的焦点。对于应届毕业生来说,了解当前的行业趋势至关...