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
命令和用法:- 启动
screen
会话:
运行这个命令后,您将进入一个新的
screen
会话。在这个会话中,您可以执行命令,运行程序,然后将其分离(detach)以后台运行。- 分离
screen
会话:
在
screen
会话中,您可以使用以下组合键将会话分离到后台:Ctrl-a这将让
screen
会话继续在后台运行,而您可以回到原来的终端窗口。- 列出
screen
会话:
要列出当前的
screen
会话,您可以运行以下命令:这将显示当前运行的
screen
会话的列表。- 重新连接到
screen
会话:
要重新连接到以前分离的
screen
会话,使用以下命令,其中 <session_name>
是您要重新连接的会话的名称或 ID:- 创建具有自定义名称的
screen
会话:
您可以使用以下命令创建一个具有自定义名称的
screen
会话:这将创建一个新的
screen
会话并为其指定名称。- 结束
screen
会话:
要结束
screen
会话,可以在会话中运行 exit
命令,或者按下 Ctrl-d
。- 帮助:
如果需要查看更多
screen
的命令和选项,可以在 screen
会话中按下 Ctrl-a ?
,这将显示帮助信息。screen
是一个非常强大的工具,特别适合在 SSH 连接中管理多个任务或会话。您可以在 screen
会话中运行长时间运行的进程,然后分离会话,以便在稍后重新连接并查看输出。这对于远程服务器管理和维护非常有用。