Linux脚本分享:自动关机与计算任务管理

系统 Linux
本文分享的bash shell脚本用于实现Linux的自动关机,以及简单的计算任务管理。可以延伸实现其他功能,这里主要是提供一个实现思路。本文分享的脚本推荐使用screen来执行。

编者按:本文分享的bash shell脚本用于实现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
   fi
done

2.计算任务管理脚本

简单的计算任务管理:检测某个为某个名字的进程的个数,如果不是少于设定的个数,就提交任务,直到进程数和设定的相等;如果进程数大于等于设定个数,就休眠一定时间。

用法:./脚本名 程序名 任务数 循环次数

建议用screen运行。

#!/bin/bash
 
pro_name=$1
task_num=$2
cycle_num=$3
 
i=1
while (( $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
  fi
done

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

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

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

原文:http://blog.sina.com.cn/s/blog_59cf67260100muoj.html

【编辑推荐】

  1. 几个常用的Linux监控脚本
  2. 不看后悔的Linux生产服务器Shell脚本分享
  3. 天外飞仙级别的Linux Shell命令
  4. 天外飞仙级别的Linux Shell命令(第二弹)
责任编辑:yangsai 来源: felonwan的博客
相关推荐

2011-09-02 10:29:30

脚本Linuxperl

2011-08-08 16:49:07

自动关机SwitchOffWindows

2019-10-18 10:30:14

Windows 10自动关机Windows

2012-05-16 14:13:03

Win7

2015-09-08 13:47:24

C#编写自动关机

2017-06-08 11:11:03

Windows 8Windows自动关机计划

2009-08-06 10:28:11

Vmware虚拟机自动

2017-03-20 20:10:04

Windows 7Windows定时关机

2011-07-28 22:41:04

投影机技巧

2019-08-23 06:22:47

LinuxShell监控脚本

2010-10-09 09:18:59

Shell脚本

2011-04-29 10:02:35

投影机

2021-11-17 22:41:41

手机电池低温

2010-11-25 13:45:44

2022-01-11 09:59:23

Python关机程序文件

2022-03-01 20:26:12

PythonCSV脚本

2010-09-06 14:14:32

ppp-on

2013-01-08 16:45:05

Android开发自动开关机

2021-01-27 07:56:04

Python编程语言

2019-08-12 07:45:44

Linux脚本shell
点赞
收藏

51CTO技术栈公众号