如何列出脚本中分离的进程?
Posted
技术标签:
【中文标题】如何列出脚本中分离的进程?【英文标题】:How to list processes detached in a script? 【发布时间】:2014-01-15 11:01:06 【问题描述】:我有:
$ cat ./test
#!/bin/bash
gulp dev &
然后运行它:
$ ./test
...
(.. 按回车键获取命令提示符)
脚本中的命令启动node
进程。但我在后台进程中没有:
$ jobs -p
打印空列表。因此,目标是能够列出/杀死(多个)在单个脚本中启动和分离的进程。怎么做?
【问题讨论】:
【参考方案1】:您的交互式 shell 只管理它启动的作业。当您将脚本作为命令运行时,后台进程由子 shell 启动,而不是原始 shell。
您需要 source
脚本,以便它可以由您的交互式 shell 运行:
source ./test
【讨论】:
太好了,它有效!一个相关的问题: alias seskill='kill $(jobs -p)' 不起作用(而是打印 kill 使用情况)。如何治愈?$(...)
在子shell中运行,因此无法列出当前shell的作业。
那么是否可以创建一个快捷方式来终止所有会话的后台进程?
这个问题unix.stackexchange.com/questions/43527/… 说你的命令应该有效。
您的别名对我有用。如果我没有后台作业,我只会收到使用消息。以上是关于如何列出脚本中分离的进程?的主要内容,如果未能解决你的问题,请参考以下文章