nohup进程的进程ID不断更新 - 无法杀死进程

时间:2018-03-12 19:57:30

标签: shell command-line nohup

我试图在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),并且是第二高评分答案。

2 个答案:

答案 0 :(得分:1)

非常非常糟糕的问题......

  1. 你试图杀死你grep进程......

    ec2-user 16580 16153  0 19:50 pts/0    00:00:00 grep --color=auto nohup
    
  2. 命令为grep --color=auto nohup

    1. 我不确定你能杀死nohup
    2. nohup将以特定方式运行您的命令。但是在启动之后,nohup进程就会消失。

答案 1 :(得分:1)

如果你想要输出ps输出:

ps -ef | grep '[n]ohup'

pgrep -fl nohup

因为你试图杀死nohup pid而不是grep本身......