shell脚本功能:

获取使用gpu的进程,通过长度判断有几个进程使用gpu,当有1个进程时,执行命令启动另一个进程

创建定时任务步骤:

编写定时任务:
crontab -e
编写内容(两个小时执行一次):
* */2 * * * /home/kluntech/YOLOV4-darknet-master/reconnectShell.sh

shell脚本:

#!/bin/bash
GPU_RUN_IDS=$(nvidia-smi -q -d PIDS | grep 'Process ID' | awk '{print $4}' | sort | uniq)
#echo 'ids:'${GPU_RUN_IDS}
#echo 'len:'${#GPU_RUN_IDS}
length_IDS=${#GPU_RUN_IDS}
#echo 'len:'${length_IDS}
if [ $length_IDS -gt 8 ]
then echo '>8:'1
else
cd /home/kluntech/YOLOV4-darknet-master/
CUDA_VISIBLE_DEVICES=1 nohup ./darknet detector demo phoneProject/obj.data phoneProject/yolo-obj.cfg yolo-obj_best.weights  rtsp://guest:sg123456@172.19.54.22:554//Streaming/Channels/1 -thresh .90 -dont_show -videoout /sgvedio/zhongkong/
fi

遇到问题:

1.shell脚本单独执行成功,crontab执行不成功

查看crontab日志:

将日志设置为可见
vim /etc/rsyslog.d/50-default.conf
改为(去掉注释#):
cron.*                          /var/log/cron.log查看日志命令:
less -10 /var/log/cron.log

2.crontab执行成功,但是脚本里面的命令执行失败

原因是由于路径问题,所以本人要执行命令,先进入目录(目录一定要绝对路径,绝对路径)

cd /home/kluntech/YOLOV4-darknet-master/
CUDA_VISIBLE_DEVICES=1 nohup ./darknet detector demo phoneProject/obj.data phoneProject/yolo-obj.cfg yolo-obj_best.weights  rtsp://guest:sg123456@172.19.54.22:554//Streaming/Channels/1 -thresh .90 -dont_show -videoout /sgvedio/zhongkong/

最终成功。

ubuntu croncab定时任务 shell脚本单独可行 定时任务执行命令不可行相关推荐

  1. shell脚本ssh登录并执行命令_Linux批量免密码SSH登录案例

    一.为什么要免密码登录Linux系统 1.日常使用更方便(不是主要原因) 2.通过ansible等自动化运维工具,批量管理多台服务器,那么控制节点需要免密登录各个被控主机. 2.云环境中实现自动化扩展 ...

  2. Ubuntu利用crontab+shell脚本实现Scrapy每日定时爬取网站

    Ubuntu利用crontab+shell脚本实现Scrapy每日定时爬取网站 原创文章.码字不易,转载请注明出处和链接,谢谢! 1.环境保障 自己利用scrapy编写的智联招聘网站"大数据 ...

  3. linux脚本定时拷贝文件,使用Linux shell脚本实现FTP定时执行批量下载指定文件

    使用FTP定时批量下载指定文件的shell脚本,具体实例介绍如下所示: 1.目标FTP服务器地址 #FTP服务器地址 ip=10.19.15.23 2.FTP账号和密码 u=账号 p=密码 3.使用m ...

  4. Linux Shell脚本入门--wget 命令用法详解

    Linux Shell脚本入门--wget 命令用法详解 wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上.它有以下功能 ...

  5. linux sh脚本 while,Linux shell脚本使用while循环执行ssh的注意事项

    原标题:Linux shell脚本使用while循环执行ssh的注意事项 如果要使用ssh批量登录到其它系统上操作时,我们会采用循环的方式去处理,那么这里存在一个巨大坑,你必须要小心了. 一.场景还原 ...

  6. Shell 脚本中如何使用make命令

    最近开发的项目中需要编写Shell脚本对整个工程进行自动化编译,即在Shell脚本中使用make命令来进行编译,下面回顾一下Shell脚本中如何使用make命令) 在开发一个系统时,一般是将一个系统分 ...

  7. Linux战地日记—shell脚本的建立与执行

    shell脚本的建立与执行 第一步:创建文件 通过vi/vim编辑器 第二步:三种执行方式 1.输入定向到shell脚本. $ bash < ex1 2.以脚本名作为bash参数,其一般形式是: ...

  8. Ubuntu双击运行Shell脚本

    1. 安装 dconf-editor sudo apt-get install dconf-editor 2. 启动dconf-editor,直接输入命令 dconf-editor 3. org-&g ...

  9. ubuntu/linux运行shell脚本sudo自动输入密码(亲测可以)

    运行如下代码为例 sudo apt-get update 第一种方法 使用管道(上一个命令的 stdout 接到下一个命令的 stdin): #!/bin/bash echo yourpassword ...

最新文章

  1. 清北学堂培训2019.4.7
  2. gram矩阵的性质_线性代数(十五)标准正交基(Orthonormal Bases)和Gram-Schmidt正交化...
  3. 地球上环境最恶劣的数据中心
  4. 双11行业“三连冠”,鞋王百丽走对了哪几步?
  5. Centos 配置Red5流媒体服务器
  6. 1.4编程基础之逻辑表达式与条件分支 17 判断闰年
  7. php json 默认值,php操作JSON格式数据的实现代码
  8. Go语言的线程模型-线程阻塞+线程调度
  9. 计算机网络:循环冗余码CRC
  10. 触摸屏与TSC2005触摸屏控制器
  11. 计算机连接未识别的网络,电脑网络连接处出现未识别的网络无Internet访问的解决办法...
  12. Codeforces Round #727 (Div. 2) A~D题
  13. 基于Python SimpleHTTPServer.py的修改脚本:HTTP文件服务器,修正中文目录列表,支持视频文件在线播放
  14. EXPLAIN语法详解
  15. 实验:JS判断浏览器中英文版本
  16. http://mybatis.org/dtd/mybatis-3-config.dtd标红
  17. 回归预测 | MATLAB实现SSA-BiLSTM麻雀算法优化双向长短期记忆神经网络多输入单输出
  18. BZOJ4765 普通计算姬
  19. MT6739的Android9.0 Camera kernel 驱动
  20. 不想多挣钱的程序员都有罪!!!

热门文章

  1. 深入解析浅复制和深复制
  2. 《网络安全原理与实践》一1.2 资产确定
  3. 《PHP和MySQL Web开发从新手到高手(第5版)》一2章 MySQL简介2.1 数据库简介
  4. android 上线流程
  5. [复变函数]第19堂课 5.3 解析函数在无穷远处的性质
  6. RHEL5-4的启动流程介绍
  7. php excel 函数,php实现excel中rank函数功能的方法
  8. 使用序列化反序列化实现学生管理系统
  9. batchplot插件用法_Batchplot怎么安装及使用?Batchplot的安装方法及使用方法介绍
  10. 病毒侵袭(HDU-2896)