gpt4 book ai didi

linux - Ctrl + C 终止 "grunt watch",但杀死从同一个 bash 启动的 Atom 编辑器,为什么?

转载 作者:IT王子 更新时间:2023-10-29 00:53:04 25 4
gpt4 key购买 nike

我有这个名为 wsjs.sh 的脚本:

#!/bin/bash
WS=/home/user/wsjs
cd $WS
nohup atom . &
gnome-terminal
grunt watch

如果我在 bash 中运行它:

./wsjs.sh

然后atom编辑器,gnome-terminal分别启动,当前bash显示:

user@ubuntu:~$ ./wsjs.pwd 
nohup: appending output to ‘nohup.out’
Running "watch" task
Waiting...

现在如果我按下 ctrl + cgrunt watch 退出,但原子编辑器也关闭了。

...这很奇怪。

我在 bash 中手动输入了每个命令,并且 atom 没有关闭。我用 gedit 替换了 atom 并运行脚本,它没有关闭。

为什么 atom 被关闭了?谢谢!

最佳答案

这是因为在执行 shell 脚本时,它有一个进程 ID,而文件中执行的命令将有一个脚本文件的父进程 ID。因此,在终止或 Ctl+C 脚本文件时,它也会终止子进程(在您的情况下

cd $WS
nohup atom . &
gnome-terminal
grunt watch

)在执行单个命令时具有独立的进程 ID。

希望你明白了。

关于linux - Ctrl + C 终止 "grunt watch",但杀死从同一个 bash 启动的 Atom 编辑器,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30555662/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com