精华内容
下载资源
问答
  • linux的nohup命令用法
    千次阅读
    2022-01-27 14:19:30

    启动示例:nohup java -jar infos-1.0.0.jar >/dev/null 2>&1 &

    这句命令的含义是:使用nohup来启动,并将日志输入到黑洞目录以实现不记录nohup.out日志。

    nohup:忽略所有挂断信号运行,例如输入ctrl+c会不起作用。默认记录屏幕输入到nohup.out日志文件下,可以指定此日志的位置。

    java -jar: 启动jar包

    infos-1.0.0.jar :要启动的jar包

    >/dev/null :nohup的输出文件路径,这里由于项目自带的有日志输出路径配置,所以不需要nohup文件日志,指定的文件路径为/dev/null,这个/dev/null路径是个黑洞路径,不会生成文件。

    2>&1:将错误输出重定向到标准输出。shell的标准输出是1,错误输出是2。&代表等同,这里的字面意思是错误输出等同于标准数据。标准输出是默认的,就是前面的>/dev/null,由于标准输出已经配置为输出到黑洞路径,所以错误输出追加到标准数据也会输出到黑洞路径中。这样就不会生成nohoup.out日志文件。

    &: nohup的结束标记符。

    更多相关内容
  • nohup命令,在默认情况下(非重定向时),会输出一个名叫 nohup.out 的文件到当前目录下,如果当前目录的 nohup.out 文件不可写,输出重定向到$HOME/nohup.out文件中。 语法格式: nohup Command [ Arg … ] ...

    nohup 英文全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。

    nohup 命令,在默认情况下(非重定向时),会输出一个名叫 nohup.out 的文件到当前目录下,如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。

    语法格式:

     nohup Command [ Arg … ] [ & ]

    参数说明:

    • Command:要执行的命令。
    • Arg:一些参数,可以指定输出文件。
    • &:让命令在后台执行,终端退出后命令仍旧执行。

     示例命令代码:

    以下命令在后台执行 查看当前路径下的文件内容:

    nohup cat text.txt &

    在终端如果看到以下输出说明运行成功:

    nohup: ignoring input and appending output to 'nohup.out'

    这时可以看到当前文件夹下生成了 nohup.out 文件。

    如果要停止运行上面执行的命令,查找到 nohup 运行脚本到 PID,然后使用 kill 命令来删除:

    ps -aux | grep text.txt

    参数说明:

    • a : 显示所有程序
    • u : 以用户为主的格式来显示
    • x : 显示所有程序,不区分终端机

    另外也可以使用 ps -def | grep text.txt 命令来查找。

    找到 PID 后,使用 kill PID 来删除。

    kill -9  进程号PID

    在后台执行 查看当前路径下的文件内容,并重定向输入到 text.log 文件:

    nohup cat text.txt > text.log 2>&1 &

    2>&1 解释:

    将标准错误 2 重定向到标准输出 &1 ,标准输出 &1 再被重定向输入到 text.log 文件中。

    • 0 – stdin (standard input,标准输入)
    • 1 – stdout (standard output,标准输出)
    • 2 – stderr (standard error,标准错误输出)
    展开全文
  • Linuxnohup命令使用介绍

    千次阅读 2021-02-20 11:40:40
    常规用法:联合使用nohup和&让进程后台运行 1.nohup 用途:不挂断地运行命令。 语法:nohup Command [ Arg ...] [&]  无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件...

    参考链接:nohup不输出nohup.out日志信息
    nohup和&后台运行,进程查看及终止

    常规用法:联合使用nohup和&让进程后台运行

    1.nohup
    用途:不挂断地运行命令。
    语法:nohup Command [ Arg ...] [&]
      无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。
      如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。
      如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。

    退出状态:该命令返回下列出口值:   
      126 可以查找但不能调用 Command 参数指定的命令。   
      127 nohup 命令发生错误或不能查找由 Command 参数指定的命令。   
      否则,nohup 命令的退出状态是 Command 参数指定命令的退出状态。
    2.&
    用途:在后台运行
    一般两个一起用

    nohup command &
    

    例如:

    nohup ./test.out &
    

    注意:此种方式,会将test.out产生的所有日志输出到nohup.out中

    用法进阶:不输出日志信息到nohup.out

    在某些进程中,由于日志量极大,可能达到几百G占满磁盘空间,所以在输出日志是,我们需要筛选输出或者不输出。
    1、只输出错误信息到日志文件

    nohup ./test.out >/dev/null 2>log & 
    

    2、所有信息都不输出

    nohup ./test.out >/dev/null 2>&1 & 
    

    操作系统中有三个常用的流:
      0:标准输入流 stdin
      1:标准输出流 stdout
      2:标准错误流 stderr
      一般当我们用 > console.txt,实际是 1>console.txt的省略用法;< console.txt ,实际是 0 < console.txt的省略用法。

    说明:

    1、使用&后台运行程序:

    • 结果会输出到终端
    • 使用Ctrl + C发送SIGINT信号,程序免疫
    • 关闭终端窗口发送SIGHUP信号,程序关闭

    2、使用nohup运行程序:

    • 结果默认会输出到nohup.out
    • 使用Ctrl + C发送SIGINT信号,程序关闭
    • 关闭终端窗口发送SIGHUP信号,程序免疫

    3、文件描述符
    当执行shell命令时,会默认打开3个文件,每个文件有对应的文件描述符来方便我们使用:
    图一
    所以我们平时在执行shell命令中,都默认是从键盘获得输入,并且将结果输出到控制台上。但是我们可以通过更改文件描述符默认的指向,从而实现输入输出的重定向。比如我们将1指向文件,那么标准的输出就会输出到文件中。
    4、输出重定向
    输出重定向的使用方式很简单,基本的一些命令如下:
    图二
    5、 >/dev/null
    这条命令的作用是将标准输出1重定向到/dev/null中。 /dev/null代表linux的空设备文件,所有往这个文件里面写入的内容都会丢失,俗称“黑洞”。那么执行了>/dev/null之后,标准输出就会不再存在,没有任何地方能够找到输出的内容。
    6、 2>&1
    这条命令用到了重定向绑定,采用&可以将两个输出绑定在一起。这条命令的作用是错误输出将和标准输出同用一个文件描述符,说人话就是错误输出将会和标准输出输出到同一个地方。
    linux在执行shell命令之前,就会确定好所有的输入输出位置,并且从左到右依次执行重定向的命令,所以>/dev/null 2>&1的作用就是让标准输出重定向到/dev/null中(丢弃标准输出),然后错误输出由于重用了标准输出的描述符,所以错误输出也被定向到了/dev/null中,错误输出同样也被丢弃了。执行了这条命令之后,该条shell命令将不会输出任何信息到控制台,也不会有任何信息输出到文件中。

    扩展

    用下面这个例子开始:

    nohup /usr/local/node/bin/node /www/im/chat.js >> /usr/local/node/output.log 2>&1 &
    

    11
    从图中看出,进程号7585
    1、查看运行的后台进程

    • jobs -l
      22
      jobs命令只看当前终端生效的,关闭终端后,在另一个终端jobs已经无法看到后台跑得程序了,此时利用ps(进程查看命令)
    • ps -ef
    ps -aux|grep chat.js
    

    a:显示所有程序
    u:以用户为主的格式来显示
    x:显示所有程序,不以终端机来区分

    32
    注:
      用ps -def | grep查找进程很方便,最后一行总是会grep自己
      用grep -v参数可以将grep命令排除掉

    ps -aux|grep chat.js| grep -v grep
    

    12
    再用awk提取一下进程ID

    ps -aux|grep chat.js| grep -v grep | awk '{print $2}'
    

    0
    2、如果某个进程起不来,可能是某个端口被占用
    查看使用某端口的进程

    lsof -i:8090
    

    在这里插入图片描述

    netstat -ap|grep 8090
    

    2
    查看到进程id之后,使用netstat命令查看其占用的端口

    netstat -nap|grep 7779
    

    3
    使用kill杀掉进城后再启动
    3、终止后台运行的进程

    kill -9  进程号
    

    4

    展开全文
  • 一、Linux Shell nohup命令用法 在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 & 在程序结尾来让程序自动运行。比如我们要运行mysql在后台: /usr/local/mysql/bin/mysqld_safe –user...

    一、Linux Shell nohup命令用法

    在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 & 在程序结尾来让程序自动运行。比如我们要运行mysql在后台: /usr/local/mysql/bin/mysqld_safe –user=mysql &。可是有很多程序并不想mysqld一样,这样我们就需要nohup命令,怎样使用nohup命令呢?这里讲解nohup命令的一些用法。

    nohup /root/start.sh &

    在shell中回车后提示:

    [~]$ appending output to nohup.out

    原程序的的标准输出被自动改向到当前目录下的nohup.out文件,起到了log的作用。

    但是有时候在这一步会有问题,当把终端关闭后,进程会自动被关闭,察看nohup.out可以看到在关闭终端瞬间服务自动关闭。

    咨询红旗Linux工程师后,他也不得其解,在我的终端上执行后,他启动的进程竟然在关闭终端后依然运行。

    在第二遍给我演示时,我才发现我和他操作终端时的一个细节不同:他是在当shell中提示了nohup成功后还需要按终端上键盘任意键退回到shell输入命令窗口,然后通过在shell中输入exit来退出终端;而我是每次在nohup执行成功后直接点关闭程序按钮关闭终端.。所以这时候会断掉该命令所对应的session,导致nohup对应的进程被通知需要一起shutdown。

    这个细节有人和我一样没注意到,所以在这儿记录一下了。

    附:nohup命令参考

    nohup 命令

    用途:不挂断地运行命令。

    语法:nohup Command [ Arg … ] [ & ]

    描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示”and”的符号)到命令的尾部。

    无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。如果没有文件能创建或打开以用于追加,那么 Command 参数指定的命令不可调用。如果标准错误是一个终端,那么把指定的命令写给标准错误的所有输出作为标准输出重定向到相同的文件描述符。

    退出状态:该命令返回下列出口值:

    126 可以查找但不能调用 Command 参数指定的命令。

    127 nohup 命令发生错误或不能查找由 Command 参数指定的命令。

    否则,nohup 命令的退出状态是 Command 参数指定命令的退出状态。

    nohup命令及其输出文件

    nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup就是不挂起的意思( n ohang up)。

    该命令的一般形式为:nohup command &

    使用nohup命令提交作业

    如果使用nohup命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件:

    nohup command > myout.file 2>&1 &

    在上面的例子中,输出被重定向到myout.file文件中。

    使用 jobs 查看任务。

    使用 fg %n 关闭。

    另外有两个常用的ftp工具ncftpget和ncftpput,可以实现后台的ftp上传和下载,这样就可以利用这些命令在后台上传和下载文件了。

    二、Linux nohup命令详解

    nohup命令及其输出文件

    今天在linux上部署wdt程序,在SSH客户端执行./start-dishi.sh,启动成功,在关闭SSH客户端后,运行的程序也同时终止了,怎样才能保证在推出SSH客户端后程序能一直执行呢?通过网上查找资料,发现需要使用nohup命令。
    完美解决方案:nohup ./start-dishi.sh >output 2>&1 &
    现对上面的命令进行下解释

    用途:不挂断地运行命令。
    语法:nohup Command [ Arg … ] [ & ]
    描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。

    操作系统中有三个常用的流:

    • 0:标准输入流 stdin
    • 1:标准输出流 stdout
    • 2:标准错误流 stderr

    一般当我们用 > console.txt,实际是 1>console.txt的省略用法;< console.txt ,实际是 0 < console.txt的省略用法。

    下面步入正题:

    nohup ./start-dishi.sh >output 2>&1 &

    解释:

    1. 带&的命令行,即使terminal(终端)关闭,或者电脑死机程序依然运行(前提是你把程序递交到服务器上);
    2. 2>&1的意思
        这个意思是把标准错误(2)重定向到标准输出中(1),而标准输出又导入文件output里面,所以结果是标准错误和标准输出都导入文件output里面了。 至于为什么需要将标准错误重定向到标准输出的原因,那就归结为标准错误没有缓冲区,而stdout有。这就会导致 >output 2>output 文件output被两次打开,而stdout和stderr将会竞争覆盖,这肯定不是我门想要的.
        这就是为什么有人会写成: nohup ./command.sh >output 2>output出错的原因了
      ==========================================================================================
      最后谈一下/dev/null文件的作用,这是一个无底洞,任何东西都可以定向到这里,但是却无法打开。 所以一般很大的stdou和stderr当你不关心的时候可以利用stdout和stderr定向到这里>./command.sh >/dev/null 2>&1

    还等什么小编推荐自己的linuxC/C++语言交流群:【1106675687】整理了一些个人觉得比较好的学习书籍、视频资料共享在群文件里面,有需要的可以自行添加哦!前100名进群领取,额外赠送一份价值199的C/C++、linux资料包含(视频教程、电子书、实战项目及代码)
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • linux nohup命令

    千次阅读 2021-06-04 08:37:12
    Linux nohup 命令 nohup 英文全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。 nohup 命令,在默认情况下(非重定向时),会输出一个名叫 nohup.out 的文件到当前目录下,...
  • Linux nohup命令详解

    千次阅读 2020-07-15 21:39:05
    nohup 命令是英语词组 no hangup 的缩写,意思是不挂断,也就是指程序不退出。这个命令会使程序忽略 HUP 信号,保证程序能够正常进行。HUP 信号有些人可能比较陌生,它是在终端被中止的时候向它所关联的进程所发出...
  • Linux nohup命令原理及实例解析nohup命令在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 & 在程序结尾来让程序自动运行。比如我们要运行mysql在后台: /usr/local/mysql/bin/mysqld_...
  • linuxnohup命令

    千次阅读 2021-08-30 16:45:03
    在应用Unix/Linux时,...可是有很多程序并不想mysqld一样,这样我们就需要nohup命令,怎样使用nohup命令呢?这里讲解nohup命令的一些用法。 nohup /root/start.sh & 在shell中回车后提示: [~]$ appending outp
  • Linux中安装和使用nohup命令

    千次阅读 2022-07-28 21:43:15
    nohup 英文全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。能够很方便的持续运行我们的项目,十分的方便,也不需要建立多个linux终端的连接。
  • linux 命令nohup 详解

    万次阅读 2022-03-10 18:46:53
    nohup 命令的功能是在不挂端的情况下执行命令,默认会输出一个 nohup.out 的文件。
  • Linux nohup命令不再默认输出日志文件

    千次阅读 2021-10-21 13:22:14
    Linux nohup命令不再默认输出日志文件
  • 如果是挂起进程还可以使用xinetd服务来进行守护进程,但是如果只是需要在后台挂起一个脚本的话,使用xinetd服务就有点不太合适了,还好Linux系统中有提供一个很好的不挂断地运行命令——nohup。我们使用nohup能很...
  • Linuxnohup命令

    2021-05-10 13:56:09
    1、nohup命令功能简介[root@vms002opt]#whatisnohupnohup(1)-runacommandimmunetohangups,withoutputtoanon-tty#运行一个不受hangups影响的命令,输出到一个非ttynohup(1p)-invokeautilityimmunetohangups#调用不...
  • linuxnohup命令

    千次阅读 2021-07-12 14:08:18
    nohup命令有如下几种用法。 运行一个进程,且退出terminal/shell不影响其运行,但可以使用ctrl+z终止这个进程。 后台运行一个进程,退出terminal/shell不影响其运行,使用ctrl+z无法终止该进程,需使用kill命令终止...
  • 在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 &...可是有很多程序并不想mysqld一样,这样我们就需要nohup命令,怎样使用nohup命令呢?这里讲解nohup命令的一些用法。nohup /r...
  • Unix/Linux下一般想让某个程序在后台运行,很多都是使用&在程序结尾来让程序自动运行;但如果要想在退出终端后,程序依然还在后台运行,则要用nohup与&组合来实现。nohup 命令用途:不挂断地运行命令语法:...
  • Linux nohup命令使用

    2017-04-04 16:35:34
    服务器操作,经常需要挂起某个程序,而不让其在窗口关闭后退出,这时候就可以考虑使用nohup命令。  nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该...
  • 因此,为了长时间运行普通进程,需要使用nohup命令。nohup(=no hang up),使命令忽略SIGHUP信号。语法:nohup Command [ Arg ... ] [ & ]描述:以忽略SIGHUP信号的方式运行Command 命令,该命令可以...
  • linux nohup命令后台运行

    千次阅读 2018-05-09 19:16:45
    1.nohup用途:不挂断地运行命令。语法:nohup Command [ Arg … ] [ &amp; ] 无论是否将 nohup 命令的输出重定向到终端,输出都将附加到当前目录的 nohup.out 文件中。 如果当前目录的 nohup.out 文件不可写...
  • 在UNIX/LINUX中,普通进程用&符号放到后台运行,如果启动该程序的控制台logout,则该进程随即终止。要实现守护进程,一种方法是按守护进程的规则去编程,比较麻烦;...使用nohup命令后,原程序的的标准输出...
  • linuxnohup命令用法

    2021-05-17 18:06:48
    在应用Unix/Linux时,我们一般想让某个程序在后台运行,于是我们将常会用 &...可是有很多程序并不想mysqld一样,这样我们就需要nohup命令,怎样使用nohup命令呢?这里讲解nohup命令的一些用法。nohup /r...
  • Linux nohup 命令

    2022-07-26 18:39:39
    Linux nohup 命令
  • linux命令nohupnohup is a command used to ignore the HUP signal. HUP signal is used to kill a shell command if the parent shell exits. Think that we logged in with ssh and run a command. But the ...
  • 主要介绍了linux后台执行命令&和nohup的具体使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • 这种情况下,当我们以远程管理服务器的方式,在远程终端执行后台命令,如果在命令尚未执行完毕时就退出登陆,那么这个后台命令还会继续执行吗? 当然不会,此命令的执行会被中断。这就引出一个问题,如果我们确实...
  • linux nohup及tail-f用法

    2021-01-20 15:38:57
    在启动linux服务器的weblogic时,一般是在bin 目录下面执行nohup ./startWeblogic& ...在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示”and”的符号)到命令的尾部。 无论
  • Linux nohup命令

    2021-05-10 07:33:04
    nohup命令用于执行另一个程序或者命令并将其参数指定为忽略所有SIGHUP(中断)信号。SIGHUP是当前控制终端关闭时发送到进程的信号通常,当您通过SSH运行命令时,如果...如何使用nohup命令nohup命令的语法如下:noh...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 36,408
精华内容 14,563
关键字:

linux的nohup命令用法