我试图在EC2实例中杀死nohup进程,但到目前为止还没有成功。我试图获取进程ID(PID),然后在终端中使用kill命令,如下所示:
[ec2-user@ip-myip ~]$ ps -ef |grep nohup
ec2-user 16580 16153 0 19:50 pts/0 00:00:00 grep --color=auto nohup
列,(我相信)他们是:
UID PID PPID C STIME TTY TIME CMD
ec2-user 16580 16153 0 19:50 pts/0 00:00:00 grep --color=auto nohup
然而,每当我试图杀死进程时,我都会收到错误,说PID不存在,似乎是因为PID发生了变化。这是我在命令行中遇到的一个序列:
// first try, grab the PID and kill
[ec2-user@ip-myip ~]$ ps -ef |grep nohup
ec2-user 16580 16153 0 19:50 pts/0 00:00:00 grep --color=auto nohup
[ec2-user@ip-172-31-41-213 ~]$ kill 16580
-bash: kill: (16580) - No such process
// ?? - check for correct PID again, and try to kill again
[ec2-user@ip-myip ~]$ ps -ef |grep nohup
ec2-user 16583 16153 0 19:50 pts/0 00:00:00 grep --color=auto nohup
[ec2-user@ip-172-31-41-213 ~]$ kill 16583
-bash: kill: (16583) - No such process
// try 3rd time, kill 1 PID up
[ec2-user@ip-myip ~]$ ps -ef |grep nohup
ec2-user 16584 16153 0 19:50 pts/0 00:00:00 grep --color=auto nohup
[ec2-user@ip-myip ~]$ kill 16585
-bash: kill: (16585) - No such process
这对我来说非常困难,因为我需要杀死/重启这个nohup进程。任何帮助表示赞赏!
编辑 - 我试过这种方法来杀死这个过程,因为它在这个帖子中被贴出来作为答案(Prevent row names to be written to file when using write.csv),并且是第二高评分答案。
答案 0 :(得分:1)
非常非常糟糕的问题......
你试图杀死你grep
进程......
ec2-user 16580 16153 0 19:50 pts/0 00:00:00 grep --color=auto nohup
命令为grep --color=auto nohup
nohup
将以特定方式运行您的命令。但是在启动之后,nohup
进程就会消失。
答案 1 :(得分:1)
如果你想要输出ps输出:
ps -ef | grep '[n]ohup'
或
pgrep -fl nohup
因为你试图杀死nohup pid而不是grep本身......