2023.10.19 nohup命令的执行和终止操作
nohup是一个 Linux/Unix 命令,用于在后台运行命令,使命令不会被终止(即使用户注销或者网络断开)。下面是nohup的使用方法:
1、如何执行nohup:
基本语法:
nohup command [arg...] &
参数解释:
command:要执行的命令。
arg:命令的参数。
&:让命令在后台运行。
示例:
例如,在当前目录下有一个名为 script.sh 的脚本文件,需要在后台运行这个脚本,可以使用以下命令:
nohup bash script.sh &
输出结果:
nohup 命令将标准输出和标准错误分别重定向到当前目录中名为 nohup.out 的文件中。因此,如果需要查看程序的输出结果,可以使用以下命令:
tail -f nohup.out
注意事项:
使用 nohup 命令时,请确保您已经保存了所有需要保存的文件,并且确定了要运行的命令和参数。因为 nohup 命令将使命令在后台运行,一旦开始就无法中止或修改。
2、如何中止nohup
使用nohup命令后,通常需要使用其他方式来中止该命令的执行。下面是一些常用的方法:
(1)查找进程ID并终止:
首先使用下面的命令找到相关的进程ID:
ps -ef | grep "command"
参数解释:"command"是想要中止的命令关键词。然后找到对应进程的进程ID(通常是第二列),并使用kill命令终止它:
kill PID #加-9,强制杀死进程
kill -9 PID1 PID2 PID3 ... #杀掉多个进程
将PID替换为实际的进程ID。
(2)使用pkill命令:
可以直接使用pkill命令中止正在运行的nohup命令,可以根据关键词杀进程,也可以批量杀死进程。例如:
pkill -f "command"
参数解释:"command"是想要中止的命令关键词。
使用killall命令:
类似于pkill,killall可以根据程序名或关键词中止进程。例如:
killall -9 command #,加-9,强制杀死进程
参数解释:"command"是想要中止的命令关键词。
请注意,在使用上述命令时,请谨慎操作,确保只中止希望中止的进程,并且避免影响其他正在运行的程序。