nohup执行完立即退出了
时间: 2023-06-14 14:04:36 浏览: 214
这种情况可能是由于以下原因导致的:
1. 没有使用 & 符号将命令放入后台运行,导致在退出终端时会关闭进程。
2. 程序在执行时遇到了错误,并在执行过程中崩溃退出。
3. 程序在执行时输出了大量的信息,导致输出缓冲区已满而退出。
为了解决这个问题,你可以尝试以下几个方法:
1. 在命令后面添加 & 符号,将命令放入后台运行,例如:
```nohup command &```
2. 使用 screen 命令或 tmux 命令创建一个会话,在会话中运行 nohup 命令,这样即使终端退出,程序仍然会在后台运行。
3. 检查程序运行时的日志文件,查看程序在执行时是否遇到了错误。
4. 如果程序输出了大量信息,可以将输出重定向到一个文件中,例如:
```nohup command > output.log &```
这样可以避免输出缓冲区溢出导致程序退出。
相关问题
openwrt安装nohup
OpenWrt 是一个轻量级的 Linux 网络路由器操作系统,它允许用户自定义和扩展其设备的功能。要在 OpenWrt 上安装 nohup 工具,nohup (No Hang Up) 主要是用于让命令在后台运行并忽略 SIGHUP 信号,即使用户关闭终端也不会立即停止程序。
以下是安装 nohup 的步骤:
1. 打开终端:在 OpenWrt 中,通常通过 SSH 远程登录到你的路由器。
2. 更新包列表:确保你的系统是最新的,输入 `opkg update`。
3. 安装 nohup:使用 `opkg install nohup` 命令来安装 nohup 包。
4. 验证安装:安装完成后,你可以输入 `nohup` 检查工具是否已经可用。
安装完成后,就可以在终端里使用 `nohup your_command &` 来运行命令,使其在后台持续运行,即使退出当前会话也继续执行。
nohup python your_script.py 2>&1 > nohup_output.log & disown
当你想要在Linux终端中运行Python脚本`your_script.py`并将其作为后台任务执行,同时将输出重定向到名为`nohup_output.log`的日志文件,并且在退出终端时不结束该进程时,可以使用`nohup`命令结合其他选项。这里是一个详细的解释:
`nohup`是一个Unix/Linux命令,全称"no hang up",用于让命令在用户登出后仍然继续运行。指令结构通常是这样的:
```
nohup command arguments &> file_name.log & disown
```
- `command`:这里是`python your_script.py`,表示你要运行的Python脚本。
- `arguments`:替换为你实际的脚本参数。
- `&>`:合并了标准输出(`>)和错误输出(`2>&1`)到一起,都重定向到`file_name.log`。这样,无论成功还是失败,脚本的所有信息都会记录在这个日志文件里。
- `&`:在命令末尾加上这个符号,让命令立即后台运行。
- `disown`:这个命令用来移除对当前作业的控制,即使你关闭了终端,该脚本依然会继续运行。
阅读全文