首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux nohup 退出

nohup 是 Linux 系统中的一个命令,用于在用户退出系统或终端关闭后,使进程继续运行。nohup 是 "no hang up" 的缩写,意味着该命令可以让进程忽略挂起(SIGHUP)信号。

基础概念

当你在终端中启动一个进程时,该进程通常会被绑定到该终端会话。如果用户注销或终端关闭,系统会发送一个 SIGHUP 信号给所有绑定到该终端的进程,导致它们默认情况下被终止。nohup 命令可以让进程忽略这个 SIGHUP 信号,从而在用户退出后继续运行。

使用方法

使用 nohup 命令的基本语法如下:

代码语言:txt
复制
nohup command [arguments] &

例如,如果你想让一个脚本在后台持续运行,即使你退出了终端,你可以这样做:

代码语言:txt
复制
nohup ./myscript.sh &

输出重定向

默认情况下,nohup 命令会将命令的输出追加到当前目录下的 nohup.out 文件中。如果你想改变输出文件的位置,可以使用重定向:

代码语言:txt
复制
nohup ./myscript.sh > myoutput.log 2>&1 &

这条命令会将标准输出和标准错误都重定向到 myoutput.log 文件。

应用场景

  • 长时间运行的任务:当你需要执行一个可能需要很长时间才能完成的脚本或程序时,使用 nohup 可以确保它在后台持续运行。
  • 服务器维护:在进行服务器维护或重启时,可以使用 nohup 来保持关键服务的运行。
  • 后台处理:对于不需要用户交互的后台任务,nohup 是一个很好的选择。

可能遇到的问题及解决方法

问题1:进程仍然在终端关闭后被终止

确保你在命令后面加上了 & 符号,这样命令就会在后台运行。同时,检查是否有其他信号处理机制在起作用,比如脚本内部可能有捕获 SIGHUP 的逻辑。

问题2:无法找到 nohup.out 文件

如果你没有指定输出文件,nohup 默认会将输出写入当前目录下的 nohup.out 文件。如果找不到这个文件,可能是因为当前目录没有写权限,或者命令执行时发生了错误。检查当前目录的权限,并确保命令执行没有错误。

问题3:如何查看后台运行的进程

你可以使用 ps 命令结合 grep 来查找特定的后台进程。例如:

代码语言:txt
复制
ps aux | grep myscript.sh

或者使用 jobs 命令查看当前终端会话中的所有后台作业:

代码语言:txt
复制
jobs -l

注意事项

  • 使用 nohup 后,进程将不会响应终端的输入,因此不适合需要用户交互的应用。
  • 如果进程占用大量资源,可能会影响系统性能,应适当监控和管理。

通过上述信息,你应该能够理解 nohup 的基本概念、使用方法、应用场景以及可能遇到的问题和解决方法。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

nohup 退出终端不退出任务

你是否遇到过远程在linux 下运行node,python 监听脚本,程序跑起来以后,退出了终端,当你再登录时发现原先的任务已经退出了,怎么办?怎么才能在终端退出的情况下,让任务正常运行。...目录 1.screen 命令 2.nohup命令 1 screen 命令 screen 命令 能帮我们做到,screen主要是保存当前这个会话,退出之后再登录 相当于恢复会话。...2 nohup命令 #当你不使用nohup时,虽然你后台执行了,但是关闭xshell或者MobaXterm 终端窗口,程序还是会退出 [root@iz2ze64kvxwqf2mz node]# node...udpserver.js & #加上 nohup后,就可以保证程序照常进行 [root@iz2ze64kvxwqf2mz node]# nohup node udpserver.js & 但是特别注意...:使用nohup 命令执行后,你还需要 exit 才可以,此处有血的教训。

4.9K10
  • Linux 命令 | nohup

    Linux 命令 nohup 命令解析 nohup 是一个在 Linux/Unix 系统中常用的命令,它的作用是在后台运行一个命令或脚本,并且不会因为终端的关闭而终止。...换句话说,使用 nohup 运行的命令或脚本会忽略挂起(HUP)信号,即忽略终端关闭的信号。 nohup 的一般形式如下: nohup 命令的一般形式:nohup command_name &。...你可以使用以下命令:nohup ./my_script.sh & 这将在后台运行 my_script.sh,并且输出会被重定向到 nohup.out 文件。...即使你关闭终端或退出登录,脚本也会继续运行。 在上述 demo 中,使用了 ./my_script.sh 来运行脚本。这是因为在该目录下直接运行脚本可以避免因为路径问题导致的错误。...Linux 命令 nohup 命令注意事项 使用 nohup 运行的命令或脚本在默认情况下会忽略挂起信号,但如果你想在终端关闭时收到通知,可以使用 -n 参数。

    55140

    Linux nohup 用法

    所以我就选择了比较简单的nohup命令,比较轻量也很容易部署。 nohup 当用户logout、网络中断和断开连接时,中断会接收到HUP(hangup)信号从而关闭其所有运行的子进程。...,nohup是一个忽略HUP signal的POSIX命令行,如果nohup没有设置重定向的话,标准输出和标准错误缺省会被重定向到nohup.out的文件中,当然你也可以自定制重定向文件。...并且一般在nohup命令后面加入&来表示将命令同时放入后台运行。...我们先看一个比较简单的demo: nohup ping www.brianlv.com & tail -f nohup.out 看到的结果如下图所示: ?...如果你不想重定向到任何文件包括nohup.out,想使用自己的Log系统可以这样设置。 nohup command > /dev/null 2>&1 &

    4.9K51

    Linux之nohup命令

    nohup命令 可以将程序以忽略挂起信号的方式运行起来,被运行的程序的输出信息将不会显示到终端 无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。...命令格式 nohup Command [ Arg … ] [ & ] 参数说明 Command:要执行的命令。 Arg:一些参数,可以指定输出文件。 &:让命令在后台执行,终端退出后命令仍旧执行。...wget https://repo.huaweicloud.com/java/jdk/8u172-b11/jdk-8u172-linux-x64.tar.gz & // 查看后台的进程 > jobs...[1]+ Running nohup wget https://repo.huaweicloud.com/java/jdk/8u172-b11/jdk-8u172-linux-x64...& 后台执行bash命令 > nohup bash -c 'cal && ls' > output.txt 原文链接:https://rumenz.com/rumenbiji/linux-nohup.html

    2.2K00

    Linux之nohup命令

    nohup命令 可以将程序以忽略挂起信号的方式运行起来,被运行的程序的输出信息将不会显示到终端 无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。...命令格式 nohup Command [ Arg … ] [ & ] 参数说明 Command:要执行的命令。 Arg:一些参数,可以指定输出文件。 &:让命令在后台执行,终端退出后命令仍旧执行。...wget https://repo.huaweicloud.com/java/jdk/8u172-b11/jdk-8u172-linux-x64.tar.gz & // 查看后台的进程 > jobs...[1]+ Running nohup wget https://repo.huaweicloud.com/java/jdk/8u172-b11/jdk-8u172-linux-x64...& 后台执行bash命令 > nohup bash -c 'cal && ls' > output.txt 原文链接:https://rumenz.com/rumenbiji/linux-nohup.html

    1.8K00

    Linux命令之nohup

    Linux命令之nohup 用途:不挂断地运行命令。...语法:nohup Command [ Arg ... ] [ & ] 描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。...在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。...nohup 命令可以使命令永久的执行下去,和终端没有关系,退出终端也不会影响程序的运行; & 是后台运行的意思,但当用户退出的时候,命令自动也跟着退出。...Linux下还有一个特殊的文件/dev/null,它就像一个无底洞,所有重定向到它的信息都会消失得无影无踪,任何东西都可以定向到这里,但是却无法打开。

    2.3K10

    Linux之nohup命令

    nohup命令 可以将程序以忽略挂起信号的方式运行起来,被运行的程序的输出信息将不会显示到终端 无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。...命令格式 nohup Command [ Arg … ] [ & ] 参数说明 Command:要执行的命令。 Arg:一些参数,可以指定输出文件。 &:让命令在后台执行,终端退出后命令仍旧执行。...wget https://repo.huaweicloud.com/java/jdk/8u172-b11/jdk-8u172-linux-x64.tar.gz & // 查看后台的进程 > jobs...[1]+ Running nohup wget https://repo.huaweicloud.com/java/jdk/8u172-b11/jdk-8u172-linux-x64...& 后台执行bash命令 > nohup bash -c 'cal && ls' > output.txt 原文链接:https://rumenz.com/rumenbiji/linux-nohup.html

    1.7K20

    linux的nohup命令

    在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 & 在程序结尾来让程序自动运行。...咨询红旗Linux工程师后,他也不得其解,在我的终端上执行后,他启动的进程竟然在关闭终端后依然运行。...退出状态:该命令返回下列出口值: 126 可以查找但不能调用 Command 参数指定的命令。 127 nohup 命令发生错误或不能查找由 Command 参数指定的命令。...否则,nohup 命令的退出状态是 Command 参数指定命令的退出状态。...nohup命令及其输出文件 nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。

    1.7K20

    linux的nohup命令的用法

    在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 & 在程序结尾来让程序自动运行。...咨询红旗Linux工程师后,他也不得其解,在我的终端上执行后,他启动的进程竟然在关闭终端后依然运行。...退出状态:该命令返回下列出口值: 126 可以查找但不能调用 Command 参数指定的命令。 127 nohup 命令发生错误或不能查找由 Command 参数指定的命令。...否则,nohup 命令的退出状态是 Command 参数指定命令的退出状态。...nohup命令及其输出文件 nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。

    3.7K20

    Linux系列 | 了解nohup和&的功效

    如果不关闭终端的情况,想结束该进程,可以使用kill命令:kill-917153 使用 nohup www@manager1:~/build$ nohup php tinywan.php nohup:...登录Linux时,系统会分配给登录用户一个终端(Session)。在这个终端运行的所有程序,包括前台进程组和后台进程组,一般都属于这个 Session。...当用户退出Linux登录时,前台进程组和后台有对终端输出的进程将会收到SIGHUP信号。这个信号的默认操作为终止进程,因此前台进 程组和后台有终端输出的进程就会中止。...不过可以捕获这个信号,比如wget能捕获SIGHUP信号,并忽略它,这样就算退出了Linux登录,wget也能继续下载。 此外,对于与终端脱离关系的守护进程,这个信号用于通知它重新读取配置文件。...nohup 和 & 同时使用 终端运行 www@manager1:~/build$ nohup php tinywan.php & [1] 17947 www@manager1:~/build$ nohup

    1.3K21
    领券