linux 命令:nohup 详解

linux 命令:nohup 详解nohup 命令的功能是在不挂端的情况下执行命令 默认会输出一个 nohup out 的文件

nohup 命令的功能是在不挂端的情况下执行命令,默认会输出一个 nohup.out 的文件。

用法:

nohup COMMAND [ARG]…

nohup OPTION

如果标准输入是终端,则将其从不可读的文件中重定向。 如果标准输出是终端,则尽可能将输出附加到“nohup.out”,否则附加到“$HOME/nohup.out”。 如果标准错误是终端,则将其重定向到标准输出。 要将输出保存到 FILE,请使用“nohup COMMAND > FILE”。

选项

–help        帮助文档

–version        版本信息

使用示例:

写一个实例脚本,每一秒输出一个数字,数字自动增加:

# cat nohuptest.sh #!/bin/bash count=0 while [[ $count -lt 10000 ]] do echo $count sleep 1 ((count++)) done

首先在前台执行一下,看看是什么效果:

# sh nohuptest.sh 0 1 2 3 4 5 ^C

在 linux 系统中,^C(Ctrl + C)发出的是 SIGINT 信号,可以终止进程,更多关于信号的内容,请看linux 命令:kill 详解_yspg_217的博客-CSDN博客

在接收到 SIGINT 信号后,前台执行的进程立刻就终止了。

下面用 nohup 试一下:

# nohup sh nohuptest.sh nohup: ignoring input and appending output to ‘nohup.out’ ^C # cat nohup.out 0 1 2 3 4 5 # ps -ef | grep nohup #

如果使用 nohup 接启动命令,虽然输出是从终端转到了 nohup.out 中,但是前台还是被占用,无法执行其他操作。但是在操作了 ^C 后,虽然可以进行其他操作,进程也停止了。

# nohup sh nohuptest.sh & [1] 9153 # nohup: ignoring input and appending output to ‘nohup.out’ # cat nohup.out 0 # cat nohup.out 0 1 # cat nohup.out 0 1 2 ... # ps -ef | grep nohup root 9153 6178 0 14:38 pts/0 00:00:00 sh nohuptest.sh

使用 & 后,输出一个进程ID,进程在后台执行,前台不受影响。查看 nohup.out 文件,发现数字在逐渐增加。

# nohup sh nohuptest.sh > /dev/null & [1] 10334 # nohup: ignoring input and redirecting stderr to stdout # cat nohup.out #

可以把输出重定向到 /dev/null,/dev/null 是一个黑洞,重定向到它的数据都会被扔掉。查看 nohup.out,发现是空文件。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/175958.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午11:00
下一篇 2026年3月26日 下午11:01


相关推荐

  • c语言中putchar的用法举例_putchar和getchar

    c语言中putchar的用法举例_putchar和getcharC语言中getchar()和putchar()的用法getchar()和putchar()是一对字符输入/输出函数.getchar()不带任何参数,他从输入序列中返回下一个字符。例如,下面的语句读取下一个字符输入,并把该字符的值赋给变量ch:ch=getcha();putchar()函数打印它的参数。例如,下面的语句把之前赋给ch的值作为字符打印出来:putchar(ch);由于这两个函数只处理字符,所以他们通常比scanf()和printf()函数更快更便捷。而且,ge

    2022年10月18日
    5
  • 【Cursor/Vscode】SSH免密登录 – 教程

    【Cursor/Vscode】SSH免密登录 – 教程

    2026年3月15日
    2
  • 关于平面图到对偶图的转化

    关于平面图到对偶图的转化闲话哇对偶图真的是个好东西,昨天考NOI2010的时候前两道很快做完了,看着t3发呆了1个多小时,啥也想不出来.看着网格图突然想到听说bzoj1001狼抓兔子可以用对偶图求解.对偶图是啥我也不知道,听说把面看成点,连边后跑一边最短路就可以了.但是当时想到这个突然发现自己不会建对偶图,看时间还有一个多小时,于是建了8种可能的图,每一个都跑一遍spfa,发现有一个可以过样例,手

    2022年5月26日
    42
  • [bzoj3884] 上帝与集合的正确用法

    [bzoj3884] 上帝与集合的正确用法

    2022年3月7日
    37
  • teleport怎么用_telelist怎么用

    teleport怎么用_telelist怎么用teleport使用说明浏览器下载网页:只能浏览主页和少数网页,其它不能浏览,容量几百kbteleport下载项目一能完全离线看网页,7328多文件9个JPG文件,大小134Mteleport下载项目二部分网页采集内容和项目一基本一致,但大几兆部分网页需要项目二(复制站点)才能浏览,项目一看不到图片项目二比项目一耗时多,但要全面视频教程https…

    2025年10月6日
    6
  • JS 暂时性死区

    JS 暂时性死区JS暂时性死区ES6暂时性死区引用ES6暂时性死区只要块级作用域内存在let命令,它所声明的变量就“绑定”(binding)这个区域,不再受外部的影响。vartmp=123;if(true){tmp=’abc’;//ReferenceErrorlettmp;}上面代码中,存在全局变量tmp,但是块级作用域内let又声明了一个局部变量tmp,导致后…

    2022年6月30日
    28

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号