我刚刚创建了我的第一个 bash 脚本,例如:
#!/bin/bash
cd /home/jhn/src/eth/ten
atom .
npm start
这做了它应该做的事情,它在正确的文件夹中打开atom并启动服务器。但是当我想用Ctrl+停止终端中的服务器时,C它也会杀死atom。为什么是这样?
答案1
Ctrl+C这里会杀死你的脚本。所有的孩子都会收到一个信号,他们会对父母即将去世的信号做出反应。
你可能会nohup
尝试atom
#!/bin/bash
cd /home/jhn/src/eth/ten
nohup atom . &
npm start
答案2
这是因为atom
是在当前 shell 的当前脚本中启动的。将其作为守护进程启动 - 如果该选项可用 - 或在后台运行它,最终使用命令nohup
,或disown
之后运行。