📜  nohup 示例 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:44:44.998000             🧑  作者: Mango

nohup 示例 - Shell-Bash

简介

在 Linux 系统中,当使用 shell 执行一个程序时,如果该 shell 退出,那么该程序也会随之退出。如果我们需要在后台运行一个程序,且在 shell 退出后该程序仍然运行,那么可以使用 nohup 命令。nohup 表示 "no hang up",即不挂断。

使用方式

nohup 的使用非常简单,只需要在要执行的命令前加上 nohup 命令即可:

nohup command &

其中,command 表示要执行的命令,& 表示在后台运行。

例如,在后台运行一个 python 脚本:

nohup python script.py &
输出重定向

当使用 nohup 命令时,所有的输出都会被重定向到一个名为 nohup.out 的文件中。如果不想输出到这个文件中,可以使用输出重定向符号 > 进行重定向:

nohup command > output.log &

这样输出就会被重定向到 output.log 文件中。

查看运行状态

nohup 启动的程序不会在前台显示,也不是由当前 shell 管理的。如果需要查看该程序的运行状态,可以使用 ps 命令:

ps aux | grep command

其中,command 表示要查看的程序名称。

结束程序

如果需要结束某个使用 nohup 启动的程序,可以使用 kill 命令:

kill pid

其中,pid 表示要结束的程序的进程 ID。

总结

使用 nohup 命令可以让程序在后台运行,即使当前 shell 退出,程序也不会停止。通过输出重定向符号 > 可以将输出重定向到指定文件中。使用 ps 命令可以查看运行状态,使用 kill 命令可以结束程序。