unix下后台运行程序的方法

如果一个命令的执行需要花费较长的时间,那么等待其运行结束后再执行后续的命令是很不划算的。这个时候我们可以将运行时间较长的命令放到后台执行。

1、通过&将命令放入后台运行
示例:

nas3_old:bossweb:/bossweb/domains/sxtestdomain>tail -f console10000.log &

输入该命令之后,点击一下enter键,便会显示console10000.log文件末尾的内容,再次点击一下enter键,便会返回命令行状态,可以输入其他命令,而tail命令依然在后台运行。

2、通过nohup命令在终端退出后仍然运行命令
通过&虽然可以将命令放入后台运行,但是当运行该命令的终端退出,那么后台运行的命令也就终止了。使用nohup则可以使该命令在终端退后仍然运行。
示例:

nas3_old:bossweb:/bossweb/domains/sxtestdomain>nohup tail -f console10000.log &

键入上面命令之后,点击enter键,提示如下:

[1] 4264144
nas3_old:bossweb:/bossweb/domains/sxtestdomain>Sending output to nohup.out

接着,退出终端,然后重新登录系统,输入如下命令:

nas3_old:bossweb:/bossweb/domains/sxtestdomain>ps -u bossweb -f |grep tail

输出如下:

bossweb 1556630 1855600 0 19:50:09 pts/1 0:00 grep tail
bossweb 5881942 1 0 19:48:01 - 0:00 tail -f console10000.log

由以上输出可知,即使终端退出,tail命令仍然在运行。

3、将后台运行的命令置于前台运行
通过fg命令可以将后台运行的命令置于前台运行。

示例:

nas3_old:bossweb:/bossweb/domains/sxtestdomain>fg
nohup tail -f console10000.log

此条目发表在lnmp分类目录,贴了, 标签。将固定链接加入收藏夹。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据