`

Linux_nohup

 
阅读更多

via: http://www.cnblogs.com/allenblogs/archive/2011/05/19/2051136.html

 

在应用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日志拆分

    ### Linux-nohup日志拆分详解 在Linux环境下,我们经常会使用`nohup`命令来运行一些长时间运行的任务,这些任务会将输出重定向到`nohup.out`文件中。随着运行时间的增长,这个文件可能会变得非常大,不仅占用大量...

    linux下nohup日志输出过大问题的解决方法

    `/usr/bin/split -b 5m $LOG_HOME/nohup.out -d -a 4 $LOG_HOME/nohup_out_${DATE} --verbose` 在上面的命令中,我们使用 `-b` 选项指定了文件的大小为 5M,`-d` 选项指定了文件名称的后缀系数字,`-a` 选项指定了...

    详解linux下nohup日志输出过大问题解决方案

    在Linux系统中,`nohup`命令是一个非常实用的工具,它允许用户在退出终端后继续执行命令或脚本,通常用于运行长时间运行的任务。然而,当使用`nohup`时,日志输出可能会迅速增加,导致日志文件过大,这不仅占用大量...

    frp_0.32.1_linux_amd64.tar.gz

    https://blog.csdn.net/weixin_44823747/article/details/105414284

    手机练习linux命令_linux_手机练习linux_

    进程管理是Linux中的重要环节,`ps`显示当前进程,`kill`和`killall`用于结束进程,`nohup`则可以让程序在后台运行不受终端关闭影响。网络相关命令如`ping`、`curl`、`wget`也有其独特用途,可用于测试网络连接或...

    linux_learn_notes_linux_学习笔记_

    - `nohup`:让命令在后台持续运行,即使退出终端也不受影响。 3. 系统信息与网络: - `uname`:显示系统信息,如`uname -a`。 - `ifconfig`:查看网络接口配置(在某些系统中可能已替换为`ip addr`)。 - `ping...

    linux_newhowto_cn

    10. **进程管理**:理解进程的概念,学习使用ps、top、kill和nohup命令来查看、控制和后台运行进程。 11. **防火墙和安全**:介绍iptables防火墙的使用,以及基本的安全措施,如SSH安全配置和防止恶意攻击。 12. *...

    project-1_linux_project_

    了解ps, kill, killall, nohup等命令对于管理后台服务尤其关键。 4. **网络配置与管理**:在Linux中,网络配置涉及到ifconfig, route, netstat等命令,理解IP地址、子网掩码、路由规则等概念对网络问题排查至关重要...

    快乐的linux命令行_linux_

    - `nohup`: 让程序在后台运行,即使用户退出也会继续执行。 9. **网络和系统信息**: - `ifconfig`: 查看和配置网络接口。 - `ping`: 检查网络连接。 - `nslookup` 或 `dig`: 查询DNS记录。 - `uname`: 显示...

    Python_Linux_资料包

    了解Linux命令行操作,如文件和目录管理(ls、cd、mkdir、rm等),文本编辑器(如vim或nano),进程管理(ps、kill、nohup),网络配置,以及权限和文件系统管理至关重要。 3. **Python在Linux中的应用**:Python在...

    Linux_order.rar_linux

    系统管理和进程控制方面,`ps`显示当前运行的进程,`top`提供实时的系统资源监控,`kill`和`pkill`用来终止进程,`nohup`让程序在后台运行不受终端关闭影响。`cron`是Linux的定时任务服务,可以设置定期执行的任务。...

    linux2 20182710_linux_报告.zip

    6. **进程管理**:`ps`、`top`和`kill`命令用于查看和控制进程,`nohup`让程序在后台运行。 7. **网络配置**:`ifconfig`(旧命令,新系统中可能用`ip`代替)、`netstat`和`nslookup`用于查看和管理网络连接。 8. ...

    linux_html.7z

    "ps"命令用于查看当前运行的进程,"kill"或"pkill"用于终止进程,"nohup"或"&"符号用于在后台运行程序,"top"或"htop"则提供实时的系统资源监控。 网络和网络服务也是Linux学习的重要部分。"ifconfig"用于配置网络...

    Linux就该这么学 高清晰PDF_linux_Linux/Unix编程_

    6. **进程管理**:掌握ps、top、kill、nohup等命令来查看和控制进程,理解进程的状态、优先级和调度机制,这对于系统优化和问题排查至关重要。 7. **网络与远程访问**:学习配置网络接口,如IP地址、子网掩码、DNS...

    12.1笔记_linux_

    6. **进程管理**:`ps`、`top`、`kill`、`nohup`等命令,理解进程状态和控制进程。 7. **网络配置与管理**:使用`ifconfig`、`ip`命令查看和配置网络,`ping`、`telnet`、`curl`等工具进行网络测试。 8. **软件...

    linux初学者_linux_

    `ps`用于显示当前进程,`kill`和`killall`用于结束进程,`nohup`让命令在后台运行不受控制台影响。 ### 九、用户和权限管理 `adduser`或`useradd`添加新用户,`passwd`修改密码,`su`或`sudo`切换用户。理解`...

    Linux_C编程一站式学习.rar

    了解Linux的基本操作,包括命令行界面、文件系统结构(如/proc、/sys、/dev等)、权限管理(用户和组)、进程控制(如ps、kill、nohup)等,是进行Linux下编程的基础。 二、C语言编程基础 C语言是一种高效、低级的...

    Linux_SSH命令大全

    使用`nohup`命令可以实现这一点,比如`nohup wget ***`,这条命令会继续运行wget下载任务,即便SSH会话结束。 在使用SSH和相关命令时,安全性和效率是两个需要重视的方面。例如,SSH提供了强大的加密功能,确保了...

    linux-bootcamp_triedeus_linux_boot_

    4. **进程管理**:在Linux中,可以使用`ps`、`top`或`htop`命令查看当前运行的进程,使用`kill`或`pkill`终止进程,`nohup`命令可以让程序在后台持续运行,即使用户注销也不会受到影响。 5. **软件包管理**:不同的...

    嵌入式Linux应用程序开发详解第1章Linux 快速入门_linux_boneinn_源码

    3. **进程管理**:理解进程的生命周期,学习如何创建、控制和查看进程状态,例如使用`ps`、`kill`和`nohup`命令。 4. **文件系统**:介绍Linux的文件系统结构,如 `/bin`、`/usr` 和 `/etc` 目录的作用,以及如何...

Global site tag (gtag.js) - Google Analytics