1.简介

nohup 英文全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。

nohup 命令,在默认情况下(非重定向时),会输出一个名叫 nohup.out 的文件到当前目录下,如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。

2.使用

1.语法

nohup Command [ Arg … ] [ & ]

2.参数

Command:要执行的命令。

Arg:一些参数,可以指定输出文件。

&:让命令在后台执行,终端退出后命令仍旧执行。

3.示例

# 后台运行test.sh脚本
nohup bash test.sh &

在终端如果看到以下输出说明运行成功

appending output to nohup.out

注意:如果未加 & ,前台运行的话,Ctrl+C关闭后该脚本即结束运行

# 查看进程
ps -ef |grep test.sh

 

Linux nohup 命令_linux

 具有方框中的进程即成功,此时即使将当前终端关闭此进程仍将继续进行

结束进程:

kill -9 17670

使用setsid命令可实现同样效果

setsid命令子进程从父进程继承了:SessionID、进程组ID和打开的终端。子进程如果要脱离这些,代码中可通过调用setsid来实现。

命令行或脚本中可以通过使用命令setsid来运行程序实现。setsid帮助一个进程脱离从父进程继承而来的已打开的终端、隶属进程组和隶属的会话。

例如:

setsid bash test.sh &