1、查找进程
[labour@ICLinuxTwo ~]$ jps
14107 Jps
13953 Bootstrap
2、kill
kill -9 13953
3、使用脚本
#找到进程并循环kill
PID=$(jps | grep "Bootstrap" |awk '{print $1}')
echo $PID
for id in $PID
do
kill -9 $id
echo "process $id killed"
done
#重启
/home/labour/apache-tomcat-6.0.45/bin/startup.sh
4、定时调度
手动登陆执行比较麻烦,设置为每30分钟执行一次,只在白天8点~20点执行。需要安装crontab服务。
crontab -e
输入并保存退出:
*/30 8-20 * * * /home/labour/restart_svr.sh
5、疑难处理
正常执行该sh脚本是有效的,使用crontab执行却发现搜索不到进程。分析原因是因为crontab执行时不会带上环境变量。故修改调度命令如下即可:
*/30 8-20 * * * source /home/labour/.bash_profile && /home/labour/restart_svr.sh
6、调度配置例子:
0 1 * * * /home/testuser/test.sh
每天晚上1点调用/home/testuser/test.sh
*/10 * * * * /home/testuser/test.sh
每10钟调用一次/home/testuser/test.sh
30 21 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每晚的21:30重启apache。
45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每月1、10、22日的4 : 45重启apache。
10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每周六、周日的1 : 10重启apache。
0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
上面的例子表示在每天18 : 00至23 : 00之间每隔30分钟重启apache。
0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
上面的例子表示每星期六的11 : 00 pm重启apache。
* */1 * * * /usr/local/etc/rc.d/lighttpd restart
每一小时重启apache
* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart
晚上11点到早上7点之间,每隔一小时重启apache
0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
每月的4号与每周一到周三的11点重启apache
0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
一月一号的4点重启apache
*/30 * * * * /usr/sbin/ntpdate 210.72.145.44
每半小时同步一下时间
8、crontab命令
crontab -u//设定某个用户的cron服务
crontab -l//列出某个用户cron服务的详细内容
crontab -r//删除某个用户的cron服务
crontab -e//编辑某个用户的cron服务