nohup >/dev/null 2>&1 & 不生效
时间: 2024-08-13 08:02:31 浏览: 34
当您尝试使用`nohup`命令将后台进程定向到/dev/null并同时重定向标准错误 (`2>` 和 `&>` 操作) 时,如果命令未生效,可能是以下几个原因:
1. **权限不足**:您可能需要对运行该命令的用户或shell拥有相应的权限才能将输出重定向到/dev/null。
2. **路径问题**:确保您的命令路径正确无误,如果是在非全局路径中运行的程序,nohup可能无法找到它。
3. **命令格式错误**:确保`nohup`命令及其参数书写正确。例如,完整的命令应该是 `nohup your_command > /dev/null 2>&1 &`,其中`your_command`替换为实际的命令。
4. **环境变量影响**:某些环境变量可能会干扰`nohup`的行为,比如`STDOUT`和`STDERR`默认设置。
5. **终端会话限制**:一些终端环境可能会阻止nohup命令的执行,尤其是在非交互式环境中。
相关问题
nohup > /dev/null 2>&1 &
nohup > /dev/null 2>&1 & 是一个 Linux 命令,常用于在后台运行程序或命令。其中:
- nohup: 表示不挂断地运行命令,即使当前用户退出或终端关闭,命令也能继续运行。
- > /dev/null: 表示将标准输出重定向到空设备文件,即不显示输出信息。
- 2>&1: 表示将标准错误输出重定向到标准输出,即错误信息和输出信息都被重定向到了空设备文件。
- &: 表示在后台运行命令。
因此,nohup > /dev/null 2>&1 & 的作用是在后台运行某个命令或程序,并将输出信息和错误信息都重定向到空设备文件,以便不影响当前终端的使用。
nohup sh mqnamesrv > /dev/null 2>&1 &
"nohup sh mqnamesrv > /dev/null 2>&1 &" 是一条Linux命令行指令,用于在后台运行mqnamesrv脚本,并忽略标准错误输出(stderr)。这里解释一下各个部分:
- "nohup": 是"no hang up"的缩写,它告诉系统即使用户登出,这个进程也不会被终止。
- "sh mqnamesrv": 执行shell命令 mqnamesrv,这是某个脚本或者服务名。
- "> /dev/null": 这是一个重定向操作,将命令的标准输出(stdout)和标准错误输出都重定向到/dev/null,即丢弃所有的输出,不会有任何信息打印到屏幕上。
- "2>&1": 这里2>&1表示将标准错误输出(stderr)也重定向到之前标准输出所指向的地方,也就是/dev/null。这样就同时隐藏了标准输出和标准错误。
- "&": 在命令末尾加上&标志,使得该命令立即在后台执行并返回前台控制台。