有时我会同时运行许多python脚本实例。要以字母方式进行,我使用tmux
(终端多路复用器),当我填写完成后,或者当我必须修复某些内容时,我会终止tmux
会话而不是退出每个会话手动(最多100个)脚本。
杀死tmux
会话实际上会杀死bash
进程,这些进程是从它们执行的python
进程的父进程。如果我理解正确,则表示SIGHUP
信号被发送到所有python
进程。
它很快清理一切 - 内存被释放(似乎),cpu被释放,套接字被关闭,显然端口被释放。优点是它比退出每个脚本更快更简单。
我的问题是:这种习惯会有什么可能的后果吗?如果我不关心脚本本身的输出 - 可能会造成任何其他损害,例如使操作系统更脏,更重等等?有更好的做法吗?
答案 0 :(得分:1)
调用SIGHUP
处理程序。如果未安装SIGHUP
处理程序,则会调用signal(7)
手册页所示的默认操作。
要确保您的脚本关闭所有文件,释放所有资源等,install a SIGHUP
handler执行相应的操作。