nohup命令的用法

您所在的位置:网站首页 现代encino参数 nohup命令的用法

nohup命令的用法

2023-06-14 03:53| 来源: 网络整理| 查看: 265

nohup 命令的用法。

如果正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用 nohup 命令。

命令简介 nohup Command [ Arg … ] [ & ]

该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup 就是不挂起的意思(no hang up)。

nohup 运行由 Command 和相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。要运行后台中的 nohup 命令,添加 & ( 表示 and 的符号)到命令的尾部。

如果使用 nohup 命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为 nohup.out 的文件中,除非另外指定了输出文件。

使用举例 nohup ./frps -c ./frps.ini > frps.log &

在上面的例子中,运行 ./frps 输入参数 -c ./frps.ini,输出被重定向到 frps.log 文件中。

也可以用 2>&1手动将标准错误输出(stderr)重定向到与标准输出相同的位置 nohup ./frps -c ./frps.ini > frps.log 2>&1 &

退出任务

如果运行的任务在当前 shell 终端,可以通过 jobs 命令查询相关信息,并且杀掉进程。

# 查看当前 shell 终端的后台运行任务进程信息 $ jobs [1]+ Running nohup ./frps -c ./frps.ini > frps.log & # 杀掉作业号 $ kill %1 # 或着找到 pid $ jobs -l [1]+ 2428680 Running nohup ./frps -c ./frps.ini > frps.log & # 杀掉该进程id $ kill 2428680 # 或者置为前端运行再手动结束 # fg % $ fg %1 Ctrl + c # 退出

在 Unix 或 Linux 系统中,%符号用于引用作业号或进程号。作业号与进程 ID 不同,作业号是由 shell 分配的数字标识符,用于管理在同一个终端窗口中运行的多个进程。用jobs查看在当前 shell 会话中运行的所有作业及其状态,作业号会显示在作业前面,如 “[1]”, “[2]” 等等。

关于fg,在某些情况下,使用 fg 2 和 fg %2 可能会引用不同的作业。具体来说,如果您在一个 shell 会话中先启动作业 1,然后在另一个 shell 会话中启动作业 2,那么 fg 2 将引用第二个 shell 会话中的作业 2,而 fg %2 将引用当前 shell 会话中的作业 2。因此,为了确保引用正确的作业,建议使用 “%” 符号来引用作业号。

在fg置为前端时,按下Ctrl+Z,将挂起并停止任务然后返回到终端提示符。再使用命令bg %1将任务移动到后台并继续运行。

另外,如果非当前 shell 终端,可以通过 ps auxf | grep 'adapter-minisite' 获取 pid 然后 kill pid。

参考



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3