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

linux nohup和

nohup 是 Linux 系统中的一个命令,用于使进程忽略挂起(SIGHUP)信号。当你在终端中运行一个进程时,如果你关闭了终端或者注销了登录,这个进程通常会被终止。但是,使用 nohup 命令可以使得进程在你退出登录或者关闭终端后继续运行。

基础概念

nohup 命令的全称是 "no hang up",它的主要作用是让进程在用户退出系统后继续运行。它通过忽略 SIGHUP 信号来实现这一功能,SIGHUP 信号通常会在用户注销或者终端关闭时发送给进程,告诉进程应该终止。

使用方式

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

代码语言:txt
复制
nohup command &

其中 command 是你想要运行的命令,& 符号表示将命令放到后台执行。

输出重定向

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

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

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

应用场景

nohup 常用于运行需要长时间运行的任务,例如:

  • 后台服务
  • 数据备份
  • 大数据处理
  • 定时任务

注意事项

  • 使用 nohup 后,你需要通过 ps 命令或者其他方式来查找和管理这些后台进程。
  • 如果你想要停止一个使用 nohup 运行的进程,你需要找到该进程的 PID(进程ID),然后使用 kill 命令来终止它。

示例

假设你有一个名为 my_script.sh 的脚本,你想在后台运行它,并且在你退出登录后仍然保持运行状态,你可以这样做:

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

这条命令会启动 my_script.sh 脚本,并将输出重定向到 my_script.log 文件中,脚本将在后台运行,即使你退出登录也不会停止。

相关命令

  • jobs:查看当前终端的后台作业。
  • fg %jobnumber:将后台作业放到前台来运行。
  • kill PID:终止指定 PID 的进程。

如果你遇到的问题是关于 nohup 命令的使用或者遇到了特定的错误,请提供更详细的信息,以便给出更具体的解决方案。

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

相关·内容

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

登录Linux时,系统会分配给登录用户一个终端(Session)。在这个终端运行的所有程序,包括前台进程组和后台进程组,一般都属于这个 Session。...当用户退出Linux登录时,前台进程组和后台有对终端输出的进程将会收到SIGHUP信号。这个信号的默认操作为终止进程,因此前台进 程组和后台有终端输出的进程就会中止。...不过可以捕获这个信号,比如wget能捕获SIGHUP信号,并忽略它,这样就算退出了Linux登录,wget也能继续下载。 此外,对于与终端脱离关系的守护进程,这个信号用于通知它重新读取配置文件。...nohup 和 & 同时使用 终端运行 www@manager1:~/build$ nohup php tinywan.php & [1] 17947 www@manager1:~/build$ nohup...使用Ctrl + C发送SIGINT信号,程序关闭 关闭session发送SIGHUP信号,程序免疫 平日线上经常使用 nohup和 &配合来启动程序 同时免疫SIGINT和SIGHUP信号 (

1.3K21

Linux 命令 | nohup

Linux 命令 nohup 命令解析 nohup 是一个在 Linux/Unix 系统中常用的命令,它的作用是在后台运行一个命令或脚本,并且不会因为终端的关闭而终止。...换句话说,使用 nohup 运行的命令或脚本会忽略挂起(HUP)信号,即忽略终端关闭的信号。 nohup 的一般形式如下: nohup 命令的一般形式:nohup command_name &。...并且输出会被重定向到一个名为 nohup.out 的文件。...你可以使用以下命令:nohup ./my_script.sh & 这将在后台运行 my_script.sh,并且输出会被重定向到 nohup.out 文件。...Linux 命令 nohup 命令注意事项 使用 nohup 运行的命令或脚本在默认情况下会忽略挂起信号,但如果你想在终端关闭时收到通知,可以使用 -n 参数。

55140
  • Linux nohup 用法

    比如我有两台服务器分别为A和B,在A上部署监控程序来监控服务器B,在B上部署监控程序来部署A.由于监控服务要严格按照我们自定制的业务需求来监控,所有监控服务需要自己实现并部署在后台一直运行。...所以我就选择了比较简单的nohup命令,比较轻量也很容易部署。 nohup 当用户logout、网络中断和断开连接时,中断会接收到HUP(hangup)信号从而关闭其所有运行的子进程。...,nohup是一个忽略HUP signal的POSIX命令行,如果nohup没有设置重定向的话,标准输出和标准错误缺省会被重定向到nohup.out的文件中,当然你也可以自定制重定向文件。...除了nohup和setsid还有disown和screen,disown 能帮助我们事后补救当前已经在运行的作业,而screen主要用在大批量操作。...那么它会生成一个nohup.out文件。比如说我们再程序里面有print或者类似的输出流都会写入到nohup.out里面。那么这对于我们调试和开发而言很不方便,特别是有的系统本省重写了类似Log系统。

    4.9K51

    Linux之nohup命令

    nohup命令 可以将程序以忽略挂起信号的方式运行起来,被运行的程序的输出信息将不会显示到终端 无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。...命令后台执行,正常输出和错误输出到a.log文件 > nohup command > a.log 2>&1 & 2>&1 解释 将标准错误 2 重定向到标准输出 &1 ,标准输出 &1 再被重定向输入到...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 文件中。...命令后台执行,正常输出和错误输出到a.log文件 > nohup command > a.log 2>&1 & 2>&1 解释 将标准错误 2 重定向到标准输出 &1 ,标准输出 &1 再被重定向输入到...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 命令可以使命令永久的执行下去,和终端没有关系,退出终端也不会影响程序的运行; & 是后台运行的意思,但当用户退出的时候,命令自动也跟着退出。...这就会导致 >output 2>output 文件output被两次打开,而stdout和stderr将会竞争覆盖,这肯定不是我门想要的. 这就是为什么 nohup ....Linux下还有一个特殊的文件/dev/null,它就像一个无底洞,所有重定向到它的信息都会消失得无影无踪,任何东西都可以定向到这里,但是却无法打开。

    2.3K10

    Linux之nohup命令

    nohup命令 可以将程序以忽略挂起信号的方式运行起来,被运行的程序的输出信息将不会显示到终端 无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。...命令后台执行,正常输出和错误输出到a.log文件 > nohup command > a.log 2>&1 & 2>&1 解释 将标准错误 2 重定向到标准输出 &1 ,标准输出 &1 再被重定向输入到...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工程师后,他也不得其解,在我的终端上执行后,他启动的进程竟然在关闭终端后依然运行。...语法:nohup Command [ Arg … ] [ & ] 描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。...另外有两个常用的ftp工具ncftpget和ncftpput,可以实现后台的ftp上传和下载,这样就可以利用这些命令在后台上传和下载文件了。...参考:https://www.cnblogs.com/songgj/p/8998049.html Linux的重定向 0:表示标准输入; 1:标准输出,在一般使用时,默认的是标准输出; 2:表示错误信息输出

    1.7K20

    Linux:Nohup命令详解

    导读 可以在Linux下永久的在后台执行程序。 1、简介 nohup 命令运行由 Command参数和任何相关的Arg参数指定的命令,忽略所有挂断(SIGHUP)信号。...3、nohup和&的区别 & 指在后台运行,但当用户推出(挂起)的时候,命令自动也跟着退出。...nohup 不挂断的运行,注意并没有后台运行的功能就是指,用nohup运行命令可以使命令永久的执行下去,和用户终端没有关系,例如我们断开SSH连接都不会影响他的运行,注意了nohup没有后台运行的意思;...nohup sh test.sh 将sh test.sh任务放到后台,关闭标准输入,终端不再能够接收任何输入(标准输入),重定向标准输出和标准错误到当前目录下的nohup.out文件,即使关闭xshell...nohup sh test.sh & 将sh test.sh任务放到后台,但是依然可以使用标准输入,终端能够接收任何输入,重定向标准输出和标准错误到当前目录下的nohup.out文件,即使关闭xshell

    14.5K30

    Linux命令(40)——nohup命令

    1.简介 nohup的作用可以将程序以忽略挂起信号(SIGHUP)的方式运行。常见的用法是和&命令一同使用,将命令放置到后台运行,即使终端挂掉,进程会忽略挂起信号,继续运行。...注意: (1)如果使用nohup执行程序未显示进行标准输出重定向,则标准输出默认重定向当前工作目录的 nohup.out文件中。...2.命令格式 nohup COMMAND [ARG]... nohup OPTION 3选项说明 --help:显示帮助信息 --version:显示版本信息 4.常用示例 (1)使用nohup命令提交作业...nohup ./test.sh & (2)标准输出与标准错误输出重定向。 nohup ....---- 参考文献 [1]Linux执行shell脚本方式及区别&命令后台运行 [2]Linux命令大全.nohup命令

    2.1K20

    linux的nohup命令的用法

    在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 & 在程序结尾来让程序自动运行。...可是有很多程序并不想mysqld一样,这样我们就需要nohup命令,怎样使用nohup命令呢?这里讲解nohup命令的一些用法。...咨询红旗Linux工程师后,他也不得其解,在我的终端上执行后,他启动的进程竟然在关闭终端后依然运行。...语法:nohup Command [ Arg … ] [ & ] 描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。...另外有两个常用的ftp工具ncftpget和ncftpput,可以实现后台的ftp上传和下载,这样就可以利用这些命令在后台上传和下载文件了。

    3.7K20

    nohup和setsid实现linux后台运行执行 shell 脚本

    所以要想退出当前shell终端时test.sh继续运行,则需要使用nohup忽略hangup信号。 nohup test.sh & 不中断的在后台运行test.sh:nohup ..../test.sh &(test.sh的打印信息会输出到当前目录下的nohup.out中) 使用jobs可看到test.sh处于running状态 使用ps -ef |grep test.sh可查看到正在运行的...test.sh脚本进程 退出当前shell终端,再重新打开,使用jobs看不到正在运行的test.sh,但使用ps -ef可以看到 在后台不中断的运行test.sh,可以使用nohup忽略hangup信号...,或者使用setsid将其父进程改为init进程(进程号为1) 实际上就是把控制台的内容输出到了 nohup.out这个文件里了 如果查看控制台内容的话就tail -f nohup.out就行 setsid

    2.9K30
    领券