CLOCK代码学习

一、start_ui_clock.sh文件

#!/bin/bash


cd /home/pi

./WorkSpace/Clock/nohup_start.sh
  • 第一行的内容指定了shell脚本解释器的路径,而且这个指定路径只能放在文件的第一行。第一行写错或者不写时,系统会有一个默认的解释器进行解释。
  • 先到/home/pi目录,然后执行/WorkSpace/Clock/目录下的nohup_start.sh脚本

二、nohup_start.sh文件

#!/bin/bash

BASEDIR=`dirname $0`
echo "work on $BASEDIR"
cd $BASEDIR


sudo nohup ./main.py >> nohup.log 2>&1 
  1. 该命令在命令行状态下执行 $ cd dirname $0 会返回当前路径的".",无意义。
    写在脚本文件中,返回这个脚本文件放置的目录,并可根据这个目录来定位所要运行程序的相对位置(绝对位置除外)。
  2. nohup命令
    nohup指不断地运行,是no hang up的缩写,指不间断,不挂断。运行一个进程的时候,不想让其在你退出终端时关闭,即可用nohup。
    nohup在不规定的情况下,所有输出内容会到nohup.out中
  3. 2>&1
    1、0 表示stdin标准输入,用户键盘输入的内容;
    2、1 表示stdout标准输出,输出到显示屏的内容;
    3、2 表示stderr标准错误,报错内容。
    4、2>&1是一个整体,>左右不能有空格,即将错误内容重定向输入到标准输出中去。
  4. 整体意义及&
    1、sudo nohup ./main.py >> nohup.log 2>&1,不间断的运行main.py脚本,并将脚本输出的内容重定向输入nohup.log中(>>意为追加,如果用>会让其中的内容清空)
    main.py >> nohup.log 和main.py 1>>nohup.log相同,只是1(标准输入)被省略了,而后面的nohup.log 2>&1 又将2(错误内容)输入到标准输出,然后前面的标准输出又输入到nohup.log中,意思是错误和标准内容都会输出到nohup.log中,其实代码可拆成两块。
    2、nohup ./main.py 1>> nohup.log &
    nohup ./main.py 2>>nohup.log &
    上面代码就是将错误和标准都输出到my.log,最初的代码只是简化了。
    而加2>&1中的&是为了区别文件1和1(标准输出),假如为2>1,那么不就成了将错误内容输出到文件1中。
    3、nohup tomcat.sh > /dev/null 2>&1 &也是一样的,将错误和标准全部丢入/dev/null中,全部销毁。

三、mian.py文件

if __name__ == '__main__':
    if len(sys.argv) == 1:
        main = Main()
        main.run()
    elif '-h' in (sys.argv):
        main = Main()
        main.help()
    else:
        fire.Fire(Main)
        pass
  1. import fire
    python库fire使用简介
    fire.Fire():可以指定某个函数导出到命令行
  2. if __name__ == '__main__':
    if name == ‘main’:到底是个啥?
    总结:自己写的.py文件作为模块给别人使用,为了不让别人一导入就直接运行整个脚本,比如from main import Main(Main为main.py里的一个class类)可以使用该if语句,其中的代码就不会在被 import 时被执行。即当前.py文件名为main(即main.py)时,才运行if语句里的程序。
  3. import logging
    import logging.config
    导入日志库
    Python日志库logging总结
  4. import os
  5. import sys
  6. import signal
  7. pass
    Python的pass语句是空语句,是为了保持程序结构的完整性,一般用做占位语句。
    (当编写一个程序时,执行语句部分思路还没有完成,这时可以用pass语句来占位,也可以当做是一个标记,是以后要完成的代码。)

四、App.py文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值