Linux自动关机及计算任务管理脚本

1.自动关机脚本每隔一定时间检测一次,如果不存在某个进程就关机,如果存在就休眠。用法: ./脚本名 进程名 休眠时间注意:要有关机的权限(一般来说是root用户或者有sudoer权限)!建议用法: screen ./脚本名 进程名 休眠时间

#/bin/bash

while :do thread_num=`ps -e |grep $1 | wc -l` if [ $thread_num -eq 0 ]; then date >> shutdowntime.log shutdown -h exit else echo “Sleeping $2 second…” sleep $2 fidone

2.计算任务管理脚本简单的计算任务管理:检测某个为某个名字的进程的个数,如果不是少于设定的个数,就提交任务,直到进程数和设定的相等;如果进程数大于等于设定个数,,就休眠一定时间。用法:./脚本名 程序名 任务数 循环次数建议用screen运行。

#!/bin/bash

pro_name=$1task_num=$2cycle_num=$3

i=1while (( $i <= $cycle_num ))do pro_num=$(ps -A | grep $pro_name |wc -l)

if (( $pro_num < $task_num )); then echo $i #在这里写要执行程序 sleep 1s i=$(($i+1)) else echo ‘sleeping 600s’ sleep 600s fidone

另外,可以在循环中针对时段控制任务数:

core_num=`cat /proc/cpuinfo |grep ‘core id’ | wc -l`

time_hour=`date +%H`if (( $time_hour >= 23 )) || (( $time_hour < 7 ); then task_num=$core_num #晚上23:00以后到早上7点前这段时间,就按机器的core数来提任务else task_num=$(( $core_num / 2 )) #其它时间只占用一半的core数来用于任务fi

在执行完后所有该做循环这后,也可以加上关机的命令。

提供一个思路,可以干的其它事就靠自己的想象力了。

没有什么可凭仗,只有他的好身体,没有地方可去,

Linux自动关机及计算任务管理脚本

相关文章:

你感兴趣的文章:

标签云: