在集群上终止 nohup 命令

在集群上终止 nohup 命令

昨晚我通过 nohup 在集群上启动了一个命令,然后关闭了连接。今天我想终止这个作业(我知道它仍在运行,因为输出是在输出文件中生成的),但我什至无法确定它的 PID。例如,如果我输入ps -ax,我的可执行文件的名称不会显示。只需输入ps只会显示我已启动此登录会话的可执行文件。

有什么建议么?

答案1

尝试jobs命令,如果您可以看到它,请记下作业编号,然后kill -9 %job_number_you_recorded

答案2

您可以使用它lsof来查找打开该输出文件的 pid。

答案3

您还记得该过程的名称吗?尝试列出:

ps aux | grep -i $your_process_name

如果您发现该进程,您可以使用($pid =第二列)轻松杀死它:

kill -9 $pid

您不会在当前会话中找到该进程,nohup执行给定的程序然后将该程序从您的终端分离。这个无父进程的父进程现在将是 init 进程(PID #1)。您可以使用以下命令看到这一点:

pstree -a

如果您确定给定进程只有一个实例正在运行,您可以使用以下命令轻松终止:

killall -9 $process_name

例如:

killall -9 nano

相关内容