当前位置:首页 > 编程技术 > 正文

nohup 如何不终止

nohup 如何不终止

`nohup` 是一个在 Unix 和类 Unix 系统中常用的命令,用于在后台执行命令或脚本,即使用户退出登录,该命令也不会终止。以下是使用 `nohup` 的基本方...

`nohup` 是一个在 Unix 和类 Unix 系统中常用的命令,用于在后台执行命令或脚本,即使用户退出登录,该命令也不会终止。以下是使用 `nohup` 的基本方法以及如何确保它不会因为用户会话的结束而终止。

基本使用

要使用 `nohup` 执行一个命令,你可以这样做:

```bash

nohup command &

```

这里的 `&` 是将命令放入后台执行的符号。

防止终止

`nohup` 命令默认会将输出重定向到当前目录下的 `nohup.out` 文件。为了确保 `nohup` 进程不会因为用户会话的结束而终止,你可以采取以下措施:

1. 使用 `nohup` 的 `-n` 选项:这个选项会告诉 `nohup` 不要从 `nohup.out` 文件中读取命令行参数。

```bash

nohup command -n &

```

2. 使用 `nohup` 的 `-h` 选项:这个选项与 `-n` 类似,也是为了防止读取 `nohup.out` 文件。

```bash

nohup command -h &

```

3. 将输出重定向到非当前目录的文件:你可以将输出重定向到一个非当前目录的文件,这样即使当前会话结束,输出文件也不会被删除。

```bash

nohup command > /path/to/output &

```

4. 使用 `disown` 命令:在 Bash 中,你可以使用 `disown` 命令将一个作业从 shell 中移除,这样它就不会再受到 shell 会话的影响。

```bash

nohup command &

disown %1

```

这里的 `%1` 是后台作业的编号。

5. 使用 `screen` 或 `tmux`:这些是更高级的会话管理器,可以创建会话并在会话断开时保持后台进程运行。

```bash

screen -S mysession

nohup command &

退出 screen 会话,进程仍然会运行

```

通过上述方法,你可以确保 `nohup` 命令即使在用户会话结束的情况下也不会终止。

上一篇:如何偷邻居的wifi

下一篇:如何打印封面

最新文章