美文网首页
linux每10秒执行一次

linux每10秒执行一次

作者: lazy4men | 来源:发表于2017-04-18 15:02 被阅读90次

    后台运行

    nohup ./test.sh >/dev/null 2>&1 &
    

    test.sh内容如下:

    #!/bin/bash
    while true ; do
    /bin/sleep 10
    /home/datastore/share/bin/coopdev_dynamicstatis/enterprise/updatetest.sh
    done```
    
    updatetest.sh内容如下:
    

    !/bin/sh

    mysql -uroot -p3g2win <<EOF
    use public;
    update test set num=num+FLOOR(1 + (RAND() * 10));
    quit
    EOF```

    解释:
    在学习Linux的过程中,常会看到一些终端命令或者程序中有">/dev/null 2>&1 "出现,由于已经遇到了好几次了,为了理解清楚,不妨花点时间百度或者google一下相关的知识。

    0:表示键盘输入(stdin)
    1:表示标准输出(stdout),系统默认是1
    2:表示错误输出(stderr)

    command >/dev/null 2>&1 & == command 1>/dev/null 2>&1 &

    1)command:表示shell命令或者为一个可执行程序
    2)>:表示重定向到哪里
    3)/dev/null:表示Linux的空设备文件
    4)2:表示标准错误输出
    5)&1:&表示等同于的意思,2>&1,表示2的输出重定向等于于1
    6)&:表示后台执行,即这条指令执行在后台运行

    1>/dev/null:表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,不显示任何信息。
    2>&1:表示标准错误输出重定向等同于标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件。

    这条命令的意思就是在后台执行这个程序,并将错误输出2重定向到标准输出1,然后将标准输出1全部放到/dev/null文件,也就是清空.
    所以可以看出" >/dev/null 2>&1 "常用来避免shell命令或者程序等运行中有内容输出。

    相关文章

      网友评论

          本文标题:linux每10秒执行一次

          本文链接:https://www.haomeiwen.com/subject/jxofzttx.html