• Linux:nohub启动后台永久进程


    简介:

    nohup 命令运行由 Command参数和任何相关的 Arg参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。

    用途:不挂断地运行命令。
    语法:nohup Command [ Arg ... ] [ & ]
    描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。

    该命令的一般形式为:nohup command &

    使用nohup命令提交作业

    如果使用nohup命令提交作业,那么在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中,除非另外指定了输出文件:
    nohup command > myout.file 2>&1 &
    在上面的例子中,0 – stdin (standard input),1 – stdout (standard output),2 – stderr (standard error) ;
    2>&1是将标准错误(2)重定向到标准输出(&1),标准输出(&1)再被重定向输入到myout.file文件中。
    使用 jobs 查看任务。
    使用 fg %n 关闭。
     
    示例:
    nohup /app/my/tommyduan_service/submit_generate_all.sh 20171231 570 ALL 20171231 20180101 >my_log_20171231_570.log 2>&1 &

    监控日志的方法:

    tailf my_log_20171231_570.log 
    tail -f my_log_20171231_570.log 

    submit_generate_all.sh文件:

     1 #!/usr/bin/env bash
     2 source /app/catt/login.sh
     3 
     4 p_day=$1
     5 p_city=$2
     6 p_loctype=$3
     7 p_mr_location_imsi_all_start=$4
     8 p_mr_location_imsi_all_end=$5
     9 
    10 time beeline<<EOF
    11 
    12 use rc_hive_db;
    13 
    14 set mapred.job.name=generate_gridcell_grid_floor_building_${p_day}_${p_city}_${p_loctype};
    15 
    16 set hive.exec.reducers.bytes.per.reducer=500000000;
    17 set hive.mapred.supports.subdirectories=true;
    18 set mapreduce.input.fileinputformat.input.dir.recursive=true;
    19 set mapred.max.split.size=256000000;
    20 set mapred.min.split.size.per.node=128000000;
    21 set mapred.min.split.size.per.rack=128000000;
    22 set hive.hadoop.supports.splittable.combineinputformat=true;
    23 set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat;
    24 set hive.merge.mapfiles=true;
    25 set hive.merge.mapredfiles=true;
    26 set hive.merge.size.per.task=256000000;
    27 set hive.merge.smallfiles.avgsize=256000000;
    28 set hive.groupby.skewindata=true;
    29 set hive.exec.dynamic.partition.mode=nonstrict;
    30 set hive.exec.parallel=true;
    31 set hive.exec.parallel.thread.number=32;
    32 SET hive.exec.compress.output=true;
    33 SET mapred.output.compression.codec=org.apache.hadoop.io.compress.SnappyCodec;
    34 SET mapred.output.compression.type=BLOCK;
    35 set hive.exec.compress.intermediate=true;
    36 set hive.intermediate.compression.codec=org.apache.hadoop.io.compress.SnappyCodec;
    37 set hive.intermediate.compression.type=BLOCK;
    38 
    39 
    40 drop table tommyduan_fingerlib_${p_day}_${p_city}_all;

    备注:

    1)其中/app/my/tommyduan_service/submit_generate_all.sh是的sh文件;
    2)其中 20171231 570 ALL 20171231 20180101,是sh文件接收的参数信息;
    3)其中my_log_20171231_570.log 会记录输入、输出、错误流信息。
     
     
  • 相关阅读:
    Java学习之路----计算圆形的面积和周长
    数据库系统的基本组成内容
    软件测试的含义以及测试的对象
    wg sync.WaitGroup执行顺序
    go channel
    字符串操作
    scanf
    py停止工作
    jira索引失败
    py kafka
  • 原文地址:https://www.cnblogs.com/yy3b2007com/p/8306174.html
Copyright © 2020-2023  润新知