在linux后台执行脚本
1. 使用&符号在后台执行命令
你可以在Linux命令或者脚本后面增加&符号,从而使命令或脚本在后台执行,例如:.
$ ./my-shell-script.sh &
2. 使用nohup在后台执行命令
使用&符号在后台执行命令或脚本后,如果你退出登录,这个命令就会被自动终止掉。要避免这种情况,你可以使用nohup命令,如下所示:
$ nohup ./my-shell-script.sh &
3. 使用screen执行命令
通过nohup和&符号在后台执行命令后,即使你退出登录,这个命令也会一直执行。但是,你无法重新连接到这个会话,要想重新连接到这个会话,你可以使用screen命令。.
Linux的screen命令提供了分离和重新连接一个会话的功能。当你重新连接这个会话的时候,你的终端和你分离的时候一模一样。
4. 使用at将一个命令作为批处理执行
使用at命令,你可以让一个命令在指定的日期和时间运行,例如要在明天上午10点在后台执行备份脚本,执行下面的命令:
$ at -f backup.sh 10 am tomorrow
在批处理模式下执行某些任务需要启用一些选项。下面的文章会给出详细解释:.
- How To Capture Unix Top Command Output to a File in Readable Format
- Unix bc Command Line Calculator in Batch Mode
- How To Execute SSH and SCP in Batch Mode (Only when Passwordless login is enabled)
5. 使用watch连续地执行一个命令
要想按一个固定的间隔不停地执行一个命令,可以使用watch命令,如下所示:
$ watch df -h 原文链接:http://www.cnblogs.com/Javame/p/3582885.html测试:
[root@rusky ~]# nohup ping 192.168.1.100 > /tmp/test_nohup_ping.txt &
[1] 2619
[root@rusky ~]# nohup: ignoring input and redirecting stderr to stdout [root@rusky ~]# nohup ping 192.168.1.202 > /tmp/test_nohup_ping2.txt &
[2] 2628
[root@rusky ~]# nohup: ignoring input and redirecting stderr to stdout [root@rusky ~]# nohup ping 127.0.0.1 > /tmp/test_nohup_ping3.txt &
[3] 2629
[root@rusky ~]# nohup: ignoring input and redirecting stderr to stdout [root@rusky ~]# jobs
[1] Running nohup ping 192.168.1.100 > /tmp/test_nohup_ping.txt &
[2]- Running nohup ping 192.168.1.202 > /tmp/test_nohup_ping2.txt &
[3]+ Running nohup ping 127.0.0.1 > /tmp/test_nohup_ping3.txt &
[root@rusky ~]#
ctrl+z 停止进程 ctrl+c 终止进程
[root@rusky ~]# fg
nohup ping 127.0.0.1 > /tmp/test_nohup_ping3.txt
^Z
[3]+ Stopped nohup ping 127.0.0.1 > /tmp/test_nohup_ping3.txt
[root@rusky ~]# jobs
[1] Running nohup ping 192.168.1.100 > /tmp/test_nohup_ping.txt &
[2]- Running nohup ping 192.168.1.202 > /tmp/test_nohup_ping2.txt &
[3]+ Stopped nohup ping 127.0.0.1 > /tmp/test_nohup_ping3.txt
bg:Resume each suspended job jobspec in the background, as if it had been started with &.
fg: Resume jobspec in the foreground, and make it the current job.
这个'+'就是表示在当前窗口下后台默认调用的任务。如下,输入fg,调用的是[3]job,也就是带+号的job。
job job编号,调用指定的job
[root@rusky ~]# fg
nohup ping 127.0.0.1 > /tmp/test_nohup_ping3.txt
^Z
[3]+ Stopped nohup ping 127.0.0.1 > /tmp/test_nohup_ping3.txt
[root@rusky ~]# job 1
bash: job: command not found...
[root@rusky ~]# fg 1
nohup ping 192.168.1.100 > /tmp/test_nohup_ping.txt
^C[root@rusky ~]# jobs
[2]- Running nohup ping 192.168.1.202 > /tmp/test_nohup_ping2.txt &
[3]+ Stopped nohup ping 127.0.0.1 > /tmp/test_nohup_ping3.txt
bg %jobnumber(%可省略)命令激活job3
[root@rusky ~]# jobs
[2]- Running nohup ping 192.168.1.202 > /tmp/test_nohup_ping2.txt &
[3]+ Stopped nohup ping 127.0.0.1 > /tmp/test_nohup_ping3.txt
[root@rusky ~]#
[root@rusky ~]# bg 3
[3]+ nohup ping 127.0.0.1 > /tmp/test_nohup_ping3.txt &
[root@rusky ~]# jobs
[2]- Running nohup ping 192.168.1.202 > /tmp/test_nohup_ping2.txt &
[3]+ Running nohup ping 127.0.0.1 > /tmp/test_nohup_ping3.txt &
jobs -l : List process IDs in addition to the normal information.
[root@rusky ~]# jobs -l
[1] 2619 Running nohup ping 192.168.1.100 > /tmp/test_nohup_ping.txt &
[2]- 2628 Running nohup ping 192.168.1.202 > /tmp/test_nohup_ping2.txt &
[3]+ 2629 Stopped nohup ping 127.0.0.1 > /tmp/test_nohup_ping3.txt
[root@rusky ~]#
这样,我们可以用Kill命令加jobs的ID号杀死进程
在linux后台执行脚本的更多相关文章
- Linux后台执行脚本 &与nohup
Linux后台执行脚本的方式: 0.脚本代码 [root@VM_1_3_centos apps]# cat test.php <?php sleep(5); echo "hello w ...
- Linux后台执行脚本文件,nohup
看运维人员执行nohup命令后,把程序放在后台执行,很高大上,就研究了一下,这个命令. nohup命令及其输出文件 nohup命令:如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么 ...
- Linux后台执行命令:&和nohup nohup和&后台运行,进程查看及终止
nohup和&后台运行,进程查看及终止 阅读目录 nohup和&后台运行,进程查看及终止 1.nohup 2.& 3.nohup和&的区别 &:是指在后台运 ...
- 使用php作linux自动执行脚本
使用php作linux自动执行脚本 [来源] 达内 [编辑] 达内 [时间]2013-03-21 在作社区时, 时常需要统计上线人数等数据. 一般做法是, 把这段代码放在用户 login或者 ...
- linux-ssh远程后台执行脚本-放置后台执行问题(转)
写了一个监控负载的小脚本(死循环,测试结束后再kill对应进程),因需要监控多台服务器,所以在一台服务器上使用ssh统一执行脚本遇到问题:使用ssh root@172.16.146.20 '/usr/ ...
- Linux后台执行
在Linux中有时你须要将脚本(test.sh)和可运行程序(exe)后台运行,请使用例如以下方式: nohup ./test.sh & nohup ./exe & 这样执行的程序能够 ...
- Linux后台执行的方法 - 关闭、退出不影响
=============================================================================================nohup c ...
- linux后台执行命令:&和nohup
当我们在终端或控制台工作时,可能不希望由于运行一个作业而占住了屏幕,因为可能还有更重要的事情要做,比如阅读电子邮件.对于密集访问磁盘的进程,我们更希望它能够在每天的非负荷高峰时间段运行(例如凌晨).为 ...
- 【liunx】linux后台执行命令:&和nohup
当我们在终端或控制台工作时,可能不希望由于运行一个作业而占住了屏幕,因为可能还有更重要的事情要做,比如阅读电子邮件.对于密集访问磁盘的进程,我们更希望它能够在每天的非负荷高峰时间段运行(例如凌晨).为 ...
随机推荐
- DOM中的node与element的区别
先看document的两个常见method. document.createTextNode Constructor: Text document.createElement Constructor: ...
- JavaScript--声明提前
声明提前(hoist): 在正式执行程序前,都会将所有var声明的变量和function声明的函数提前到*当前作用域*的顶部集中创建. 但是,赋值留在原地. console.log(a);//unde ...
- 基于Jquery easyui 选中特定的tab并更新
获取选中的 Tab // 获取选中的 tab panel 和它的 tab 对象 var pp = $('#tt').tabs('getSelected'); var tab = pp.panel('o ...
- 不熟悉的CSS样式
1.font连写: 例如:font:15px/23px "ralewayregular","Helvetica Neue",Helvetica,Arial,sa ...
- C#实现的异步Socket服务器
介绍 我最近需要为一个.net项目准备一个内部线程通信机制. 项目有多个使用ASP.NET,Windows 表单和控制台应用程序的服务器和客户端构成. 考虑到实现的可能性,我下定决心要使用原生的soc ...
- 如何在C#添加鼠标右键菜单
C#添加鼠标右键方法步骤: 1 选中要添加右键功能的Form或者控件,打开控件的设计页面. 2 从工具箱中找到ContextMenuStrip控件,将这个控件拖曳到Form或者控件的设计页面上.这时系 ...
- 用OpenGL简单编写的一个最简单贪吃蛇游戏
刚学OpenGL的时候,写的一个最简单的贪吃蛇游戏代码 如下: //贪吃蛇游戏 #include<stdio.h> #include<stdlib.h> #include< ...
- .net反射详解
前言 之所以要写这篇关于C#反射的随笔,起因有两个: 第一个是自己开发的网站需要用到 其次就是没看到这方面比较好的文章. 所以下定决心自己写一篇,废话不多说开始进入正题. 前期准备 在VS20 ...
- VIJOS P1543极值问题
已知m.n为整数,且满足下列两个条件:① m.n∈1,2,…,K② (n^ 2-mn-m^2)^2=1编一程序,对给定K,求一组满足上述两个条件的m.n,并且使m^2+n^2的值最大.例如,若K=19 ...
- Graph Search图谱搜索
来自百度百科的解释: Graph Search为2013年1月16日,Facebook首席执行官马克·扎克伯格(Mark Zuckerberg)在门罗帕克公司总部召开的新闻发布会上宣布推出社交搜索工具 ...