nohup输出到定向日志
时间: 2023-08-22 19:13:38 浏览: 42
要将nohup命令的输出重定向到日志文件中,可以使用以下命令:
```
nohup command > output.log 2>&1 &
```
其中,command是要执行的命令,output.log是要重定向到的日志文件名。
这个命令中的“>”符号用于将标准输出重定向到指定文件(output.log),而“2>&1”用于将标准错误输出(stderr)重定向到标准输出(stdout),这样所有输出都会被重定向到output.log文件中。
最后的“&”符号用于将命令放到后台运行。
例如,要将ls命令的输出重定向到output.log文件中,可以使用以下命令:
```
nohup ls > output.log 2>&1 &
```
执行完这个命令后,ls命令的输出将被重定向到output.log文件中,而ls命令将在后台运行。
相关问题
nohup python 命令
### 使用 `nohup` 运行 Python 脚本作为后台进程
为了确保 Python 脚本可以在长时间运行而不受挂断信号的影响,可以通过组合使用 `nohup` 和 `&` 符号来实现在后台持续运行的任务。具体来说,在命令行中输入以下指令:
```bash
nohup python3 /path/to/script.py arg1 arg2 > output.log 2>&1 &
```
这条命令的作用是启动位于 `/path/to/script.py` 的 Python 脚本,并传递给它两个参数 `arg1` 和 `arg2`[^1]。
- `>` 后面跟的是标准输出重定向的目标文件;如果省略,则默认为 `nohup.out`.
- `2>&1` 将错误输出也一并重定向至同一文件.
- `&` 放置在最后使得该命令立即返回控制台提示符,允许其他命令被执行的同时保持原脚本继续执行.
为了避免输出缓存延迟问题,建议加上 `-u` 参数使Python解释器处于未缓冲模式:
```bash
nohup python3 -u /path/to/script.py arg1 arg2 > output.log 2>&1 &
```
这将即时刷新日志内容以便于实时监控程序进展状况[^3].
一旦成功提交上述命令之后,即使关闭SSH会话也不会影响到已开启的Python进程正常运作。若需确认任务状态可利用`jobs -l`命令查询当前shell环境下所有作业列表及其PID编号。
输入nohup java -jar cms-0.0.1-SNAPSHOT.ja出现nohup: ignoring input and appending output to ‘nohup.out’
当你运行命令`nohup java -jar cms-0.0.1-SNAPSHOT.jar`时,`nohup`是一个Unix/Linux命令,它的作用是在后台启动一个进程并忽略键盘中断信号(如Ctrl+C),同时将标准输入、输出和错误(stdin, stdout, stderr)定向到文件`nohup.out`。这样做是为了让你的应用在你关闭终端窗口后仍然能够继续运行。
当你看到`ignoring input`这行信息时,表示该命令已经成功启动,并且由于`nohup`的特性,它不会因为控制台关闭而停止。`appending output`则意味着程序的日志或其他输出会被追加到`nohup.out`文件中,而不是覆盖原有内容。
如果你遇到任何问题,比如日志没有生成或者程序没有按预期运行,可以检查`nohup.out`文件的内容来获取更多信息。如果想改变输出文件的位置或名称,可以在`nohup`命令后面添加文件路径,例如`nohup java -jar cms-0.0.1-SNAPSHOT.jar > new_log.txt &`。
阅读全文
相关推荐










