ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

【2017-03-03】【转】Linux后台执行命令

【2017-03-03】【转】Linux后台执行命令 [历史归档]本文原发布于 cstriker1407.info 个人博客内容为历史存档仅供参考。发布时间2017-03-03 标题【转】Linux后台执行命令分类编程【转】Linux后台执行命令nohupjobs,fg,bg,kill**find /etc/httpd/ -name httpd.conf -print find.dt 21 **screen下面的笔记转自【 http://www.cnblogs.com/lwm-1988/archive/2011/08/20/2147299.html 】有删改。nohup有两种方式command 后台运行你关掉终端会停止运行nohupcommand 后台运行你关掉终端也会继续运行这里把一篇旧文贴出来关于nohup的使用笔记【 http://116.62.110.235/blog/nohup/ 】jobs,fg,bg,kill假如前台运行的一个程序需要很长的时间但是需要干其他的事情可以用Ctrl-Z挂起这个程序[1] Stopped /root/bin/rsync.sh然后我们可以把程序调度到后台执行bg 后面的数字为作业号#bg 1[1] /root/bin/rsync.sh 用 jobs 命令查看正在运行的任务#jobs[1] Running /root/bin/rsync.sh 如果想把它调回到前台运行可以用#fg 1/root/bin/rsync.sh这样你在控制台上就只能等待这个任务完成了。z 將前台任务丟到后台中暂停jobs查看当前有多少在后台运行的命令fg将后台中的命令调至前台继续运行。如果后台中有多个命令可以用 fg %jobnumber将选中的命令调出%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)bg将一个在后台暂停的命令变成继续执行。如果后台中有多个命令可以用bg %jobnumber将选中的命令调出%jobnumber是通过jobs命令查到的后台正在执行的命令的序号(不是pid)在Linux中当在前台运行某个作业时终端被该作业占据而在后台运行作业时它不会占据终端。可以使用命令把作业放到后台执行。实际上这样是将命令放入到一个作业队列中了$./test.sh [1] 17208$ jobs -l[1] 17208 Running ./test.sh 在后台运行作业时要当心需要用户交互的命令不要放在后台执行因为这样你的机器就会在那里傻等。不过作业在后台运行一样会将结果输出到屏幕上干扰你的工作。如果放在后台运行的作业会产生大量的输出最好使用下面的方法把它的输出重定向到某个文件中command out.file 21 在上面的例子中21表示所有的标准输出和错误输出都将被重定向到一个叫做out.file 的文件中。 当你成功地提交进程以后就会显示出一个进程号可以用它来监控该进程或杀死它。例查找名为“httpd.conf”的文件并把所有标准输出和错误输出重定向到find.dt的文件中find /etc/httpd/ -name “httpd.conf” -print find.dt 21 screen首先创建一个断开模式的虚拟终端然后用-r选项重新连接这个虚拟终端在其中执行的任何命令都能达到nohup的效果这在有多个命令需要在后台连续执行的时候比较方便$screen-dmSscreen_test $screen-listThere is ascreenon:27963.screen_test(Detached)1Socketin/tmp/uscreens/S-jiangfeng. $screen-rscreen_test
返回列表