我在后台运行多线程程序:
./my_task &
然后我退出,然后再次登录.现在,job命令不显示此程序,但top确实显示了该程序的线程.所以它仍然在运行.怎么阻止它?我想我可以杀死每个线程,但是它们中有很多并且我不知道它将如何影响my_task程序.
我正在使用Debian Squeeze.
解决方法:
通常情况下,您可以使用
ps aux | grep my_task
– 或者,如果您知道,该进程名称以“my_task”开头:
ps aux | grep [m]y_task
(这将从结果表中排除grep进程本身)
获得所需的进程ID(让它为$pid)然后用kill $pid杀死它
编辑(感谢下面的评论):作业是bash本身的一部分,因此有关它的信息列在man bash页面中:
Job control refers to the ability to selectively stop (suspend) the
execution of processes and continue
(resume) their execution at a later point. A user typically employs this facility via an interactive
interface supplied jointly by the operating system kernel’s terminal driver and bash.06002
但这不会有用,因为它只列出当前实例的作业(原因是,当你改变你的会话时会改变)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。