在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
当我们在终端或控制台工作时,可能不希望由于运行一个作业而占住了屏幕,因为可能还有更重要的事情要做,比如阅读电子邮件.对于密集访问磁盘的进程,我们更希望它能够在每天的非负荷高峰时间段运行(例如凌晨).为 ...
随机推荐
- 浅谈C++ Lambda 表达式(简称LB)
C++ 11 对LB的支持,对于喜欢Functional Programming的人来说,无疑是超好消息.它使得C++进入了和C#,JavaScript等现代流行的程序设计语言所代表的名人堂. 不熟悉 ...
- [Python笔记]第二篇:运算符、基本数据类型
本篇主要内容有:运算符 基本数据类型等 一.运算符 1.算术运算 2.比较运算 3.赋值运算 4.逻辑运算 5.成员运算 6.身份运算 7.位运算 8.运算符优先级 二.基本数据类型 1.整数:int ...
- ajax切换明星头像!
html部分: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- 【转】byte[]数组比较(内容比较)--不错
原文网址:http://amanda.blog.51cto.com/7238262/1215118 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责 ...
- delphi 写系统日志监控 转
不久前写了个抓取网页内容的小程序,跑了一晚上,本以为早上起来都抓完了,谁知道程序死掉了,分析半天,才发现用tmemo来记录日志的信息太多了,越积越多,本来memo的容量就不大.对于无法控制信息量的日志 ...
- RMQ算法讲解
RMQ算法 引入: 例1.题目描述 输入N个数和M次询问,每次询问一个区间[L,R],求第L个数到R个数之间的最大值. 第一种方法:大暴力之术. 但是……时间复杂度最坏会达到 $O(NM)$,一半 ...
- 基于deb包快速搭建内外apt源
- 使用 Docker 容器应该避免的 10 个事情
当你最后投入容器的怀抱,发现它能解决很多问题,而且还具有众多的优点: 第一:它是不可变的 – 操作系统,库版本,配置,文件夹和应用都是一样的.您可以使用通过相同QA测试的镜像,使产品具有相同的表现. ...
- I - Caocao's Bridges - hdu 4738(求桥)
题意:曹操的船之间有一些桥连接,现在周瑜想把这些连接的船分成两部分,不过他只能炸毁一座桥,并且每座桥上有士兵看守,问,他最少需要排多少士兵去炸桥如果不能做到,输出‘-1’ 注意:此题有好几个坑,第一个 ...
- C++编写ATM(1)
// ATM的初始.cpp : 定义控制台应用程序的入口点. // /************************************************* 运行环境: VS2008 作者 ...