亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1212 | 回復(fù): 1
打印 上一主題 下一主題

我的腳本哪里出了錯? [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2005-07-20 00:42 |只看該作者 |倒序?yàn)g覽
公司的mail服務(wù)器是redhat 9的。這臺老機(jī)器經(jīng)常出一些莫名的故障,比如,郵件服務(wù)意外中止。通常的方法是執(zhí)行/etc/rc.d/rc3.d/S80sendmail start就應(yīng)該將這個服務(wù)啟動。但是這臺機(jī)器經(jīng)常要多次啟動這個程序才能成功。有時甚至十幾次,幾十次。為了避免手工多次啟動的麻煩,我寫了一個自動重啟動的腳本,這個腳本命名為startmail,放在/root目錄下。內(nèi)容如下:
#!/bin/sh
cat timpppp |xargs kill     #殺掉上一個進(jìn)程
/etc/rc.d/rc3.d/S80sendmail start >./temp     #啟動郵件服務(wù),將結(jié)果保存
cat temp |grep OK
if [ "$?" -eq 0 ]     #測試服務(wù)是否正常啟動
then               #成功發(fā)出通知,并清理臨時文件
echo "Mail service was started OK!"
rm timpppp -f
rm temp -f
else            #不成功則重新調(diào)用該程序
echo "lease wait! Mail service is now being started !"
ps -ef |grep startmail |grep -v grep    #顯示這個程序的進(jìn)程號
ps -ef |grep startmail |grep -v grep|awk '{print $2}' >timpppp    #保存當(dāng)前進(jìn)程號
cat timpppp     #顯示當(dāng)前進(jìn)程號,供測試觀察
/root/startmail                #重新調(diào)用該程序
fi

但是文件執(zhí)行的結(jié)果出乎我的意料,是這樣的:
Please wait! Mail service is now being started !
root     17006     1  0 00:29 pts/4    00:00:00 sh /root/startmail
17006
17039
17040
17041
17042
kill 17039: No such process
kill 17040: No such process
kill 17041: No such process
kill 17042: No such process
Please wait! Mail service is now being started !
root     17044     1  0 00:30 pts/4    00:00:00 sh /root/startmail
17044
17078
17079
17080
kill 17078: No such process
kill 17079: No such process
kill 17080: No such process


這可把我嚇出一身冷汗!
幸好這個進(jìn)程是不存在的,要是恰好有一個這個的進(jìn)程存在,它豈不被我誤殺了?
那些No such process的進(jìn)程是如何進(jìn)入臨時文件timpppp的呢?我不知道我的腳本哪里出了錯。
我曾嘗試將腳本修改,將最后幾行改成:
echo "lease wait! Mail service is now being starting !"
ps -ef |grep startmail |grep -v grep|grep -v vi
rm timpppp -f
ps -ef |grep startmail |grep -v grep|grep -v vi |awk '{print $2}' >timpppp
cat timpppp
/root/startmail
fi

但還是不能解決問題,程序跑開始幾個進(jìn)程還行,到了后來,照樣出同樣的錯誤。到底是哪里出了錯?請大家指點(diǎn)!
謝謝!

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2005-07-20 05:49 |只看該作者

我的腳本哪里出了錯?

邏輯上有點(diǎn)問題,不要?dú)⑸弦淮伪4娴倪M(jìn)程id(cat timpppp |xargs kill  )如果是第一次運(yùn)行這個腳本就一定會出錯,運(yùn)行一段時間后在啥進(jìn)程也可能誤殺掉別的進(jìn)程。
為什麼不直接用ps 取出id 后kill呢?
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP