一、关于nohup:

1.

 启动是:nohup /home/spex/bin_prodDemo/task.sh &                        
 一定要把路径打全,绝对地址然就是退出,记得退出用exit退出终端!!千万不要直接退出.不然还是没有用的.
出现提示: 
  [~]$ appending output to nohup.out 
  证明运行成功,同时把程序运行的输出信息放到当前目录的 nohup.out 文件中去。
可以查看一下 ps aux|grep task
 
2.语法:nohup Command [ Arg ... ] [ & ]

 解释:nohup 命令运行由 Command参数和任何相关的 Arg参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。 如果不将 nohup 命令的输出重定向,输出将附加到当前目录的 nohup.out 文件中。如果当前目录的 nohup.out 文件不可写,输出重定向到 $HOME/nohup.out 文件中。

操作系统中有三个常用的流:
  0:标准输入流 stdin
  1:标准输出流 stdout
  2:标准错误流 stderr
  一般当我们用 > console.txt,实际是 1>console.txt的省略用法;< console.txt ,实际是 0 < console.txt的省略用法。

二、定时任务可用两种方案实现:

1.shell代码

不太推荐,可参考https://www.cnblogs.com/linux-wang/p/8142844.html

2.使用crontab来完成定时执行一次可执行任务

1)安装crontab

  [root@slaver1 hadoop]# yum install crontabs
  [root@slaver1 hadoop]# service crond status          #查看状态
  [root@slaver1 hadoop]# /sbin/service crond stop     #关闭服务
  [root@slaver1 hadoop]# /sbin/service crond start    #启动服务
  [root@slaver1 hadoop]# /sbin/service crond restart  #重启服务
  [root@slaver1 hadoop]# /sbin/service crond reload   #重新载入配置
  [root@slaver1 hadoop]# service crond start          #手动启动crontab服务
  [root@slaver1 hadoop]# ntsysv                       #查看crontab服务是否已设置为开机启动,执行命令
  [root@slaver1 hadoop]# chkconfig –level 35 crond on #加入开机自动启动

2)命令格式

crontab [-u user] file

crontab [-u user] [ -e | -l | -r ]

3)参数详情

    -u user:用来设定某个用户的crontab服务,例如,“-u ixdba”表示设定ixdba用户的crontab服务,此参数一般有root用户来运行。
    file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将它们载入crontab。
    -e:编辑(编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。)
    -l:查看(显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。)
    -r:删除(从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。)
    -ir:删除提示(在删除用户的crontab文件时给确认提示。)

4)编辑当前用户的cron配置

crontab -e

#每小时去执行目录下的shell文件

0*/1 * * * /home/test/test.sh

5)crontab文件格式:

minute   hour    day   month   week   command

分           时        日       月         周       命令

minute: 表示分钟,可以是从0到59之间的任何整数。

hour:表示小时,可以是从0到23之间的任何整数。

day:表示日期,可以是从1到31之间的任何整数。

month:表示月份,可以是从1到12之间的任何整数。

    week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。

command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。

例如:

    每隔5秒执行一次:0/5 * * * *

每分钟执行一次:* * * * * /home/test.sh

每小时的10,15分钟各执行一次test.sh脚本:10,15 * * * * /home/test.sh

每两小时执行一次:0 */2 * * * /home/test.sh

每天晚上1点调用:0 1 * * * /home/testuser/test.sh

每天早上8点15执行一次:15 8 * * * /home/test.sh

1月1号早上8点15执行一次:15 8 1 jan * /home/test.sh

每个星期六的早上6点执行一次:0 6 * * 6 /home/test.sh

在以上各个字段中,还可以使用以下特殊字符:

   星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
   逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
   中杠(-):用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
   正斜线(/):正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。

nohup及crontab定时任务的更多相关文章

  1. scrapy使用crontab定时任务不能自动执行的调试

    在用crontab进行定时任务时,发现任务并没有执行.而手动bash yourshell.sh时可以正常的执行程序.以下是个人的解决流程. 一.将错误打印打out.log */10 * * * * b ...

  2. Linux命令之Crontab定时任务,利用Crontab定时执行spark任务

    Linux命令之Crontab定时任务,利用Crontab定时执行spark任务 一.Linux命令之Crontab定时任务 1.1 常见Crontab任务 1.1.1 安装crontab 1.1.2 ...

  3. Linux下实现秒级的crontab定时任务

    crontab的格式如下 * * * * * command 分 时 日 月 周 命令 第1列表示分钟1-59 每分钟用*或者 */1表示 第2列表示小时1-23(0表示0点) 第3列表示日期1-31 ...

  4. 【转】crontab定时任务中文乱码问题

    转载:http://blog.163.com/rettar@126/blog/static/1216503422012135511740/ 手动执行都很正常的的脚步,添加到定时任务中一直执行失败,日志 ...

  5. Linux crontab 定时任务

    http://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/crontab.html 19. crontab 定时任务 通过crontab 命令,我们 ...

  6. crontab 定时任务格式

    如下内容节选自<Linux Crontab 定时任务 命令详解> 用crontab -e 添加要执行的命令 添加的命令必须以如下格式: * * * * * /command path 前五 ...

  7. 对于crontab定时任务不能自动执行的总结

    最近遇到了一些sh不能在crontab定时任务中自动执行的问题 期间由于不太了解,故走了一点弯路,现在总结下来可能第一次 进行设置遇到的问题.以绝后患!我所用过的操作系统为HP-unix&li ...

  8. crontab定时任务不执行的原因

    1.重启crontab若是遇见"You (cloudlogin) are not allowed to use this program (crontab)                 ...

  9. Linux下Crontab定时任务的使用教程 以及 无法执行定时任务的解决方案

     前言 本文学习思路:Linux的corntab定时任务的使用教程  --> 定时任务无效的解决方案  Linux的corntab定时任务的使用教程 1. 首先,输入命令 打开crontab定时 ...

随机推荐

  1. webpack CSS处理loader

    loader概念: 首先来介绍一下loader,之前我们用webpack来处理我们写的js代码,并且webpack会自动处理js之间相关的依赖.但是,在开发中我们不仅仅有基本的js代码处理,我们也需要 ...

  2. 【UNR #2】黎明前的巧克力 解题报告

    [UNR #2]黎明前的巧克力 首先可以发现,等价于求 xor 和为 \(0\) 的集合个数,每个集合的划分方案数为 \(2^{|S|}\) ,其中 \(|S|\) 为集合的大小 然后可以得到一个朴素 ...

  3. Apache搭建http网站服务器入门教程

    Apache搭建http网站服务器入门教程 准备工具 一台带有Linux系统的主机,这里使用CentOS 7.1 64位系统 一个备案过的域名,这里使用www.hellopage.cn 一台可以访问网 ...

  4. Harbor安装(docker-compose) -- 企业级Registry仓库

    根据Harbor官方描述: Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全.标识和管理等,扩展了开源Docker Distri ...

  5. Java 时间相关

    java的时间主要关注这几个类,查看Java API 1.6 java.util.Calendar Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR.MONTH.DAY_OF_MON ...

  6. 将js/css脚本放到png图片中的实践。

     http://blog.csdn.net/zswang/article/details/7061560 将js/css脚本放到png图片中的实践. 标签: 脚本functionxmlhttprequ ...

  7. js 判断对象的长度

    Object.size = function(obj) { var size = 0, key; for (key in obj) { if (obj.hasOwnProperty(key)) siz ...

  8. Python笔记(七)_全局变量与局部变量

    全局变量与局部变量:在函数外部或内部定义的变量 1. 函数内部的变量名首次出现,且在=号左边 不管这个变量在全局域中有没有定义该变量名,都被视为一个局部变量 例1: >>>num=1 ...

  9. js实现的页面加载完毕之前loading提示效果

    页面加载readyState的五种状态 原文如下: 0: (Uninitialized) the send( ) method has not yet been invoked. 1: (Loadin ...

  10. Tomcat服务的配置

    首先到Apache官网,下载tomcat,在官网有两种tomcat,一种是安装版,一种是压缩版,对于安装版的一台机器只能安装一个tomcat,而对于压缩版的tomcat一台机器可以安装多个tomcat ...