linux nohup命令
时间:2020-02-23 14:40:09 来源:igfitidea点击:
通常,在Linux中,当连接丢弃或者用户从系统注销时,会话将终止,并且从终端执行的所有进程都将停止。
如果我们想要在后台延续或者退出系统后继续运行的程序或者命令,则可能必须使用nohup命令。
nohup命令将以提供的参数执行其他程序或者命令,并忽略所有挂起信号。
此命令很有用,尤其是通过ssh连接到服务器时,并且希望程序或者命令甚至在从服务器断开连接后继续在后台运行。
nohup linux命令
语法:
nohup COMMAND [ARGS]
或者
$nohupoptions
在nohup命令查找帮助:
$nohup--help
要查找nohup的版本信息,请使用以下命令:
$nohup--version
1.在前台运行命令
默认情况下,Nohum命令在前台运行,并将输出重定向到"NOHUP.OUTPUT"文件中。
此文件将在当前工作目录中创建。
如果用户没有权限,则将在用户的主目录中创建它。
$nohup ls
2.运行后台中的命令
在前台中使用Nohup命令有一个缺点,我们无法与终端交互,直到命令执行完成。
所以要避免这种情况,我们将在像这样的背景中运行命令
$nohup ping theitroad.com
我们可以在上面的示例中看到所有命令输出将添加到nohup.out文件。
我们可以使用终端中的"cat nohup"命令查看此文件。
[1] 2233
其中[1]是作业ID,2233是背景过程的(PID)。
我们可以使用此进程ID来杀死后台进程:
$kill 2233
3.将输出重定向到文件
默认情况下,nohup命令将输出写入 nohup.out
文件。
我们可以使用标准shell重定向来定义自己的输出文件。
$nohup ls > list.out
我们还可以使用以下命令行创建用于输出和错误的单独文件。
nohup ls > list.out 2 > list.err
4.运行多个命令
我们还可以使用nohup运行多个命令。
在下面的示例中,MKDIR,BASH和LS命令在后台运行。
$nohup bash -c 'mkdir theitroadDir && ls'