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

linux中nohup怎么

nohup 是 Linux 系统中的一个命令,用于使进程忽略挂起(SIGHUP)信号。当你在终端中运行一个进程时,如果你关闭了终端或者注销了用户,那么该进程通常会被终止。使用 nohup 命令可以防止这种情况,即使用户注销或终端关闭,进程也会继续运行。

基本用法

代码语言:txt
复制
nohup command &
  • command 是你想要运行的命令。
  • & 符号表示将命令放到后台运行。

输出重定向

默认情况下,nohup 会将输出重定向到一个名为 nohup.out 的文件中,除非你指定了其他的输出文件。你可以使用以下命令来指定输出文件:

代码语言:txt
复制
nohup command > output.log 2>&1 &
  • > output.log 将标准输出重定向到 output.log 文件。
  • 2>&1 将标准错误也重定向到同一个文件。

示例

假设你有一个长时间运行的脚本 my_script.sh,并且你希望即使关闭终端后它也能继续运行,你可以这样使用 nohup

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

优势

  1. 持久性:即使用户注销或终端关闭,进程也会继续运行。
  2. 后台运行:通过 & 符号,你可以将进程放到后台运行,释放终端。
  3. 输出管理:你可以轻松地重定向输出到文件,便于日志管理和后续分析。

应用场景

  • 长时间运行的任务:如数据处理、备份、爬虫等。
  • 定时任务:与 cron 结合使用,实现定时执行并记录输出。
  • 服务器部署:在服务器上部署应用时,确保应用在关闭终端后仍然运行。

注意事项

  • 使用 nohup 后,你需要通过其他方式(如 ps 命令)来查找和管理这些后台进程。
  • 如果你不重定向输出,nohup.out 文件可能会变得非常大,因此建议总是指定一个输出文件。
  • 虽然 nohup 可以防止进程被挂起信号终止,但它不能防止所有类型的进程终止。例如,如果系统资源耗尽或进程本身出现错误,进程仍然可能被终止。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Linux 命令 | nohup

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

55140

Linux nohup 用法

所以我就选择了比较简单的nohup命令,比较轻量也很容易部署。 nohup 当用户logout、网络中断和断开连接时,中断会接收到HUP(hangup)信号从而关闭其所有运行的子进程。...,nohup是一个忽略HUP signal的POSIX命令行,如果nohup没有设置重定向的话,标准输出和标准错误缺省会被重定向到nohup.out的文件中,当然你也可以自定制重定向文件。...我们先看一个比较简单的demo: nohup ping www.brianlv.com & tail -f nohup.out 看到的结果如下图所示: ?...运行 disown 之后,会将把目标作业从作业列表中移除,我们将不能再使用jobs来查看它,但是依然能够用ps -ef查找到它。...输出重定向到test.Log文件中,即输出内容不打印在屏幕上并且这种写法也算是比较高效的。

4.9K51
  • Linux之nohup命令

    nohup命令 可以将程序以忽略挂起信号的方式运行起来,被运行的程序的输出信息将不会显示到终端 无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。...如果当前目录的 nohup.out 文件不可写,输出重定向到$HOME/nohup.out文件中。如果没有文件能创建或打开以用于追加,那么 command 参数指定的命令不可调用。...[1]+ Running nohup wget https://repo.huaweicloud.com/java/jdk/8u172-b11/jdk-8u172-linux-x64....tar.gz & 下载过程中,输出在nohup.out文件中,可以使用tail -f nohup.out动态查看 后台运行SpringBoot项目 > nohup java -jar rumenz.jar...& 后台执行bash命令 > nohup bash -c 'cal && ls' > output.txt 原文链接:https://rumenz.com/rumenbiji/linux-nohup.html

    2.2K00

    Linux之nohup命令

    nohup命令 可以将程序以忽略挂起信号的方式运行起来,被运行的程序的输出信息将不会显示到终端 无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。...如果当前目录的 nohup.out 文件不可写,输出重定向到$HOME/nohup.out文件中。如果没有文件能创建或打开以用于追加,那么 command 参数指定的命令不可调用。...[1]+ Running nohup wget https://repo.huaweicloud.com/java/jdk/8u172-b11/jdk-8u172-linux-x64....tar.gz & 下载过程中,输出在nohup.out文件中,可以使用tail -f nohup.out动态查看 后台运行SpringBoot项目 > nohup java -jar rumenz.jar...& 后台执行bash命令 > nohup bash -c 'cal && ls' > output.txt 原文链接:https://rumenz.com/rumenbiji/linux-nohup.html

    1.8K00

    Linux命令之nohup

    Linux命令之nohup 用途:不挂断地运行命令。...一般当我们用 > console.txt,实际是 1>console.txt的省略用法,这条命令可以把命令的输出定向到console.txt的文件中;而 中:./program 2>log,这样标准输出还是在屏幕上,但是错误信息会输出到log文件中。另外,也可以实现0,1,2之间的重定向。...Linux下还有一个特殊的文件/dev/null,它就像一个无底洞,所有重定向到它的信息都会消失得无影无踪,任何东西都可以定向到这里,但是却无法打开。...nohup执行后,会产生日子文件nohup.out,把命令的执行中的消息保存到这个文件中,一般在当前目录下,如果当前目录不可写,那么自动保存到执行这个命令的用户的home目录下,例如root的话就保存在

    2.3K10

    Linux之nohup命令

    nohup命令 可以将程序以忽略挂起信号的方式运行起来,被运行的程序的输出信息将不会显示到终端 无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。...如果当前目录的 nohup.out 文件不可写,输出重定向到$HOME/nohup.out文件中。如果没有文件能创建或打开以用于追加,那么 command 参数指定的命令不可调用。...[1]+ Running nohup wget https://repo.huaweicloud.com/java/jdk/8u172-b11/jdk-8u172-linux-x64....tar.gz & 下载过程中,输出在nohup.out文件中,可以使用tail -f nohup.out动态查看 后台运行SpringBoot项目 > nohup java -jar rumenz.jar...& 后台执行bash命令 > nohup bash -c 'cal && ls' > output.txt 原文链接:https://rumenz.com/rumenbiji/linux-nohup.html

    1.7K20

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

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

    1.3K21

    Linux进阶命令-nohup&screen

    进阶命令-sort&wc Linux进阶命令-sed&split Linux进阶命令-awk&uniq Linux进阶命令-逻辑或&逻辑与 Linux进阶命令-重定向 Linux进阶命令-scp Linux...进阶命令-rsync Linux进阶命令-rsync-daemon Linux进阶命令-nohup&screen(本章节) Linux进阶命令-lsof Linux进阶命令-小结 由于部分程序是需要在前台启动...nohup nohup 是一个在 Unix 和 Linux 系统中使用的命令,用于在后台运行程序,并使得程序在用户注销或终端关闭时仍然继续运行。...2.重定向输出 默认情况下,nohup 会将命令的标准输出(stdout)和标准错误输出(stderr)重定向到当前目录一个名为 nohup.out 的文件中,如果长期使用则需要关注这个文件的大小。...nohup需要关注的就是它产生的日志文件,避免打满磁盘,尤其你你在根分区里面运行的nohup命令。

    10910

    linux 后台运行进程:& , nohup

    $nohup python manage.py runserver & 使用时注意: 在当shell中提示了nohup成功后,还需要按终端上键盘任意键退回到shell输入命令窗口,然后通过在shell中输入...nohup command > myout.file 2>&1 & 无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的nohup.out 文件中。...如果当前目录的nohup.out文件不可写,输出重定向到$HOME/nohup.out文件中。如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。...只有在当前命令行中使用 nohup和& 时,jobs命令才能将它显示出来。如果将他们写到 .sh 脚本中,然后执行脚本,是显示不出来的 比如执行下面这个脚本后,jobs 显示不出来: #!...在Linux/Unix中,有这样几个概念: 进程组(process group):一个或多个进程的集合,每一个进程组有唯一一个进程组ID,即进程组长进程的ID。

    4.8K40
    领券