把进程挂在后台执行nohup

本文详细介绍了如何在Linux中使用nohup命令实现后台运行,包括nohup的基本用法、如何暂停和恢复后台进程,以及如何确保命令在终端关闭后继续执行。同时涵盖了暂停/恢复进程的快捷操作。

nohup

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

执行命令:

nohup /root/run.sh &

&:让命令在后台执行,终端退出后命令仍旧执行。
/root/run.sh:执行命令

linux暂停/恢复后台正在运行的进程

暂停后台正在运行的进程
kill -STOP pid
如:

kill -STOP 19769 19770

恢复暂停的进行
kill -CONT pid
如:

kill -CONT 19769 19770
在 Linux 中,将运行中的进程挂起后台执行可以通过以下几种方法实现,具体取决于当前进程的运行状态和需求。 ### 1. 将前台运行的进程挂起后台 如果进程当前正在前台运行,可以使用以下快捷键和命令组合: - **`Ctrl + Z`**:此快捷键会将当前前台进程挂起(暂停执行),并返回到 shell 提示符。此时进程的状态为 `Stopped`。 - **`bg`**:在使用 `Ctrl + Z` 挂起进程后,输入 `bg` 命令可以将该进程放到后台继续运行。例如: ``` root@master-01:~# ping www.baidu.com ^Z [1]+ Stopped ping www.baidu.com root@master-01:~# bg [1]+ ping www.baidu.com & ``` ### 2. 将进程后台模式启动 如果希望进程一开始就以后台模式运行,可以在命令的末尾添加 `&` 符号。例如: ``` root@master-01:~# ping www.baidu.com >> ping.log & [1] 1254658 ``` 这种方式可以让进程后台运行,但如果终端关闭,进程会收到 `HUP`(断)信号并终止。 ### 3. 避免进程因终端关闭而终止 为了确保进程在终端关闭后仍然继续运行,可以使用 `nohup` 命令。该命令会忽略 `HUP` 信号,确保进程不会因终端退出而终止[^1]。例如: ``` root@master-01:~# nohup ping www.baidu.com >> ping.log & nohup: ignoring input and appending output to 'nohup.out' [1] 1254659 ``` `nohup` 默认会将输出重定向到 `nohup.out` 文件中,除非指定了其他输出文件。 ### 4. 使用 `screen` 或 `tmux` 管理后台会话 如果需要更灵活地管理后台进程,可以使用 `screen` 或 `tmux` 工具。这些工具允许用户创建一个伪终端会话,在其中运行进程,并在断开连接后仍能保持进程运行。重新连接后,可以恢复该会话并查看进程状态[^3]。例如: ``` root@master-01:~# screen -S mysession ``` 在 `screen` 会话中运行进程后,可以按 `Ctrl + A` 然后按 `D` 键断开会话,进程将继续在后台运行。 ### 示例代码 以下是一个完整的示例,展示如何将前台运行的进程挂起后台: ```bash # 启动一个前台进程 ping www.baidu.com # 挂起进程(按下 Ctrl + Z) ^Z # 将挂起进程放到后台运行 bg # 查看后台进程 jobs # 查看所有进程 ps -aux | grep ping ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值