linux输入命令nohup sh AttemperClient.sh > AttemperClient.LOG报错,忽略输入重定向到标准输出端
时间: 2024-09-18 18:03:06 浏览: 41
当你在Linux中尝试使用`nohup`命令运行`sh AttemperClient.sh`并将输出重定向到`AttemperClient.LOG`文件时,如果遇到报错,通常是因为文件无法创建、权限不足或其他运行时问题。`nohup`用于在后台运行命令,并且忽略退出信号,使其即使用户登出也不会结束。然而,重定向到文件的操作如果没有成功,`nohup`并不会自动隐藏错误信息。
例如,如果`AttemperClient.sh`脚本内部有错误,或者`AttemperClient.LOG`文件所在位置不允许写入,就可能出现如下的错误:
```
nohup: failed to create pipe [Operation not permitted]
```
此时,如果你想忽略错误并直接将输出发送到标准输出(终端),可以在命令末尾添加 `2>&1` 来合并标准输出和标准错误:
```bash
nohup sh AttemperClient.sh > AttemperClient.LOG 2>&1
```
这样,即使文件重定向失败,脚本的输出也会显示在屏幕上,便于查看错误原因。但是请注意,长期来看,这种方法并不推荐,因为它失去了将正常输出存储到指定日志文件的目的。
相关问题
Exit 2 nohup sh step1.L353.HaplotypeCaller.sh > L353.log 2>&1
这是一个命令行命令,其中 `nohup` 是一个用于在后台运行脚本的命令,`sh step1.L353.HaplotypeCaller.sh` 是要运行的脚本命令,`> L353.log 2>&1` 是将脚本的输出重定向到 `L353.log` 文件中,并且将错误输出也重定向到同一个文件中。
这个命令的作用是在后台运行名为 `step1.L353.HaplotypeCaller.sh` 的脚本,并将输出和错误信息都记录到 `L353.log` 文件中。
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`:这个命令用来移除对当前作业的控制,即使你关闭了终端,该脚本依然会继续运行。
阅读全文