Node.js 如何列出脚本中分离的进程?

Node.js 如何列出脚本中分离的进程?,node.js,bash,shell,process,detach,Node.js,Bash,Shell,Process,Detach,我有: $ cat ./test #!/bin/bash gulp dev & 然后运行它: $ ./test ... (…按enter键以获得命令提示) 脚本中的命令启动节点进程。但我没有在后台进程中使用它: $ jobs -p 打印空列表。因此,目标是能够在单个脚本中列出/杀死(多个)已启动和分离的进程。如何?交互式shell只管理它启动的作业。当您将脚本作为命令运行时,后台进程由子shell启动,而不是由原始shell启动 您需要source脚本,以便它将由交互式shell

我有:

$ cat ./test
#!/bin/bash

gulp dev &
然后运行它:

$ ./test
...
(…按enter键以获得命令提示) 脚本中的命令启动
节点
进程。但我没有在后台进程中使用它:

$ jobs -p

打印空列表。因此,目标是能够在单个脚本中列出/杀死(多个)已启动和分离的进程。如何?

交互式shell只管理它启动的作业。当您将脚本作为命令运行时,后台进程由子shell启动,而不是由原始shell启动

您需要
source
脚本,以便它将由交互式shell运行:

source ./test

太好了,它起作用了!一个相关的小问题:别名seskill='kill$(jobs-p)'不起作用(而是打印kill用法)。如何修复?
$(…)
在子shell中运行,因此它无法列出当前shell的作业。因此,是否可以创建一个快捷方式来终止所有会话的后台进程?此问题说明您的命令应该有效。您的别名对我有效。我只有在没有背景工作的情况下才会收到使用信息。