我是系统管理员,我被要求运行一个linux脚本来清理系统。在linux命令结尾处的“&”是什么意思?
的命令是这样的:
perl script.pl > output.log &
所以这个命令与&
结束的标志,是有它的任何特殊意义?
我有shell的基本知识,但我从来没有见过这个。
我是系统管理员,我被要求运行一个linux脚本来清理系统。在linux命令结尾处的“&”是什么意思?
的命令是这样的:
perl script.pl > output.log &
所以这个命令与&
结束的标志,是有它的任何特殊意义?
我有shell的基本知识,但我从来没有见过这个。
&
使命令在后台运行。
man bash
来自:
如果一个命令是由操作者控制&终止时,壳 中在子shell后台执行该命令。外壳不 不会等待命令完成,并 返回状态是0。
此外,还可以使用“&”签署通过,以一(1)ssh连接到运行多个进程以保持最小数量的终端。例如,我有一个进程侦听消息以提取文件,第二个进程侦听消息以便上传文件:使用“&”我可以在一个终端中运行这两种服务,通过单个ssh连接到我的服务器。
*****我刚刚意识到,在ssh会话关闭后,通过“&”运行的这些进程也将“保持活跃”!相当整洁和有用的,如果你的服务器连接中断**
'nohup'会让流程保持活跃状态。 –
当不告诉其他命令接管前景。您只有一个“前台”进程在单个shell会话中运行。 &符号指示命令在后台进程中运行,并立即返回命令行以获取其他命令。
sh my_script.sh &
外壳会议闭幕之后一个后台进程将不活路。 SIGHUP终止所有正在运行的进程。无论如何。如果您的命令是长时间运行或将无限期运行(即:微服务),您需要PR-挂起用nohup的它,所以它保持运行您从会话中断开后:
nohup sh my_script.sh &
编辑:是否有似乎当使用&时,请关闭后台进程的灰色区域。请注意,根据您的操作系统和本地配置(特别是CENTOS/RHEL),壳牌可能会关闭您的过程: https://serverfault.com/a/117157。
unix se的标志 –
第一步,“男人bash”。 – 2012-11-12 05:41:12
对不起,我确实知道这些基本的东西 – Dude