🗒️Linux后台运行和查看后台进程的方法
2023-10-25
| 2023-10-31
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
category
icon
password

1.nohub 命令

nohup英文全称 no hang up(不挂起),用于在系统后台不挂断地运行命令,退出终端不会影响程序的运行。
nohup命令,在默认情况下(非重定向时),会输出一个名叫 nohup.out 的文件到当前目录下,如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。

使用权限

所有使用者

语法格式

参数说明:

Command:要执行的命令。
Arg:一些参数,可以指定输出文件。
&:让命令在后台执行,终端退出后命令仍旧执行。

实例

以下命令在后台执行当前目录下的java程序
这时我们打开 root 目录 可以看到生成了 nohup.out 文件。
如果要停止运行,你需要使用以下命令查找到 nohup 运行脚本到 PID,然后使用 kill 命令来删除:
参数说明:
  • a : 显示所有程序
  • u : 以用户为主的格式来显示
  • x : 显示所有程序,不区分终端机
另外也可以使用 ps -def | grep "runoob.sh" 命令来查找。
找到 PID 后,就可以使用 kill PID 来删除。
以下命令在后台执行 root 目录下的 runoob.sh 脚本,并重定向输入到 runoob.log 文件:
2>&1 解释:
将标准错误 2 重定向到标准输出 &1 ,标准输出 &1 再被重定向输入到 ***.log 文件中。
  • 0 – stdin (standard input,标准输入)
  • 1 – stdout (standard output,标准输出)
  • 2 – stderr (standard error,标准错误输出)
如果你不想输出日志,只需要将日志文件输出到 /dev/null 中:
在上述命令中,/dev/null 是一个特殊的设备文件,用于丢弃所有写入它的数据。通过将标准输出和标准错误都重定向到 /dev/null,您可以完全禁用应用程序的输出日志。
这将使 yarn start 在后台运行,且不会产生任何输出。

2.screen 命令

screen 是一个在 Unix 和 Unix-like 操作系统中使用的终端复用工具,它允许用户在一个终端窗口中同时运行多个独立的终端会话。这个工具非常有用,因为它可以帮助您在同一个终端窗口中运行多个任务,而不必打开多个终端窗口。以下是一些常见的 screen 命令和用法:
  1. 启动 screen 会话
    1. 运行这个命令后,您将进入一个新的 screen 会话。在这个会话中,您可以执行命令,运行程序,然后将其分离(detach)以后台运行。
  1. 分离 screen 会话
    1. screen 会话中,您可以使用以下组合键将会话分离到后台:Ctrl-a
      这将让 screen 会话继续在后台运行,而您可以回到原来的终端窗口。
  1. 列出 screen 会话
    1. 要列出当前的 screen 会话,您可以运行以下命令:
      这将显示当前运行的 screen 会话的列表。
  1. 重新连接到 screen 会话
    1. 要重新连接到以前分离的 screen 会话,使用以下命令,其中 <session_name> 是您要重新连接的会话的名称或 ID:
  1. 创建具有自定义名称的 screen 会话
    1. 您可以使用以下命令创建一个具有自定义名称的 screen 会话:
      这将创建一个新的 screen 会话并为其指定名称。
  1. 结束 screen 会话
    1. 要结束 screen 会话,可以在会话中运行 exit 命令,或者按下 Ctrl-d
  1. 帮助
    1. 如果需要查看更多 screen 的命令和选项,可以在 screen 会话中按下 Ctrl-a ?,这将显示帮助信息。
screen 是一个非常强大的工具,特别适合在 SSH 连接中管理多个任务或会话。您可以在 screen 会话中运行长时间运行的进程,然后分离会话,以便在稍后重新连接并查看输出。这对于远程服务器管理和维护非常有用。
  • Linux
  • Centos
  • Bitwarden部署与备份自定义Redis缓存注解
    Loading...
    目录