Linux Nohup命令
Nohup命令
nohup代表不挂机,它是一个Linux实用程序,即使退出终端或外壳程序也可以保持进程运行。它防止进程获取SIGHUP信号(信号挂断);这些信号被发送到进程以终止或终止进程。
通常,当我们从终端退出时,默认情况下所有正在运行的进程都被终止。但是,它显示正在运行的进程的警告。如果一个过程花费的时间比预期的多,我们需要完成它。在这种情况下,nohup命令是一种方便的工具,可用于在后台继续运行该进程。 nohup命令的最佳用法是在内存检查,同步,重新启动服务器等方面。在ssh上运行程序时,这也是有利的。
在ssh连接的情况下,如果连接中断,则所有正在运行的进程都会终止,并且我们可能会丢失数据。 nohup命令解决了这个问题。
语法:
nohup命令可以以两种方式使用:
或
让我们通过示例了解nohup命令的不同用法:
检查nohup版本
这是Linux系统的默认命令行实用程序。因此,我们不需要安装它。我们可以通过执行以下命令来检查安装的版本:
上面的命令将显示已安装的版本。考虑以下输出:
如何使用以下命令启动进程nohup
如果要在退出终端后运行进程,请先执行nohup命令,然后执行该进程。这是一个简单的过程。该过程将继续运行,并且不会被杀死。
让我们以一个例子来了解nohup的工作原理。我们有一个文件'hello.sh ',我们将使用nohup命令将其打开。执行以下命令:
现在,即使我们关闭终端,cat命令也将完全执行。考虑以下输出:
从上面的输出中我们可以看到,它将创建文件'nohup.out'并将输出附加到该文件。
要显示输出,请执行以下命令:
考虑以下输出:
此外,我们还可以重定向输出到指定的文件。为此,请执行以下命令:
nohup cat hello.sh > newfile
上面的命令会将输出重定向到指定的文件'newfile'。要验证输出,请执行以下命令:
考虑以下输出:
启动后台进程
要在后台启动进程,请在命令后使用" &" 符号。它将在后台执行我们的过程。例如,如果要ping lidihuo.com,请执行以下命令:
以上命令将使用lidihuo.com对我们进行ping操作,并将进程重定向到后台。要检查进程,请执行 pgrep命令,如下所示:
考虑以下输出:
要终止该进程,请执行使用给定PID的kill命令。
上面的命令将杀死后台进程。考虑以下输出: