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

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

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 1929 | 回復(fù): 7
打印 上一主題 下一主題

請(qǐng)教shell問(wèn)題:為什么腳本運(yùn)行時(shí)會(huì)將當(dāng)前啟動(dòng)的shell進(jìn)程打出來(lái) [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2010-01-29 18:14 |只看該作者 |倒序?yàn)g覽
腳本想實(shí)現(xiàn)的功能是殺掉$1參數(shù)代表的進(jìn)程,我現(xiàn)在輸入一個(gè)不存在的進(jìn)程abc,ps -ef|grep abc確認(rèn)無(wú)該進(jìn)程,但是腳本執(zhí)行時(shí)卻將當(dāng)前shell打印出來(lái)了
sbmp:/tmp/ou # ./pskill.sh abc
5232 /bin/sh
Are these processes to be killed?[y..n]n
sbmp:/tmp/ou #
sbmp:/tmp/ou # ls hold1*
hold1.5232
sbmp:/tmp/ou #
sbmp:/tmp/ou # cat hold1.5232
5232    /bin/sh
sbmp:/tmp/ou #
sbmp:/tmp/ou #
sbmp:/tmp/ou # ps -ef|grep abc|grep -v "grep"|awk '{print $2"\t"$8}'
//沒(méi)有結(jié)果輸出

具體內(nèi)容如下:
#!/bin/sh
HOLD1=/tmp/ou/hold1.$$
PROCESS=$1

usage()
{
        echo "Usage: `basename $0` processname"
        exit 1
}

if [ $# -ne 1 ]
then
        usage
fi

case $1 in
        *)
        ps -ef|grep $PROCESS|grep -v "grep"|awk '{print $2"\t"$8}' >$HOLD1
        ;;
esac

if [ ! -s $HOLD1 ]
then
        echo "No process found"
        exit 1
fi

while read LOOP1 LOOP2
do
        echo $LOOP1 $LOOP2
done <$HOLD1

echo -n "Are these processes to be killed?[y..n]"
read ANS

case $ANS in
        y|Y)
               while read LOOP1 LOOP2
        do
                echo $LOOP1
                kill -9 $LOOP1
        done <$HOLD1
        rm /tmp/*.$$
        ;;
        n|N)
        ;;
esac

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2010-01-29 18:32 |只看該作者
echo -n "Are these processes to be killed?[y..n]"


你看一下這句的位置是否正確?

不管如何這句echo都始終顯示的

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2010-01-29 18:38 |只看該作者
但是從執(zhí)行結(jié)果看的確將當(dāng)前shell的進(jìn)程號(hào)寫進(jìn)去了,這個(gè)怎么解決?
sbmp:/tmp/ou # ./pskill.sh abc
5232 /bin/sh


sbmp:/tmp/ou # cat hold1.5232
5232    /bin/sh


至于你說(shuō)的echo位置不對(duì)問(wèn)題,前面有個(gè)檢查,如果文件為空則退出腳本了
if [ ! -s $HOLD1 ]
then
        echo "No process found"
        exit 1
fi

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2010-01-29 18:39 |只看該作者
#!/bin/sh
HOLD1=/tmp/ou/hold1.$$
PROCESS=$1

usage()
{
        echo "Usage: `basename $0` processname"
        exit 1
}

if [ $# -ne 1 ]
then
        usage
fi

case $1 in
        *)
        ps -ef|grep $PROCESS|grep -v "grep"|awk '{print $2"\t"$8}' >$HOLD1
        ;;
esac

if [ ! -s $HOLD1 ]
then
        echo "No process found"
        exit 1
else#改

while read LOOP1 LOOP2
do
        echo $LOOP1 $LOOP2
done <$HOLD1

echo -n "Are these processes to be killed?[y..n]"
read ANS

case $ANS in
        y|Y)
               while read LOOP1 LOOP2
        do
                echo $LOOP1
                kill -9 $LOOP1
        done <$HOLD1
        rm /tmp/*.$$
        ;;
        n|N)
        ;;
esac

fi#改




判斷是否存在進(jìn)程不存在顯示No process found  else 就顯示是否kill

[ 本帖最后由 CU_Solaris 于 2010-1-29 18:40 編輯 ]

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2010-01-29 18:54 |只看該作者

回復(fù) #4 CU_Solaris 的帖子

改了,結(jié)果一樣,主要是$HOLD1文件中有一行當(dāng)前shell的進(jìn)程號(hào),所以無(wú)論如何都判斷有進(jìn)程存在

sbmp:/tmp/ou # ./pskill.sh abc
5430 /bin/sh
Are these processes to be killed?[y..n]n
sbmp:/tmp/ou #
sbmp:/tmp/ou # ls hold*
hold1.5430
sbmp:/tmp/ou # cat hold1.5430
5430    /bin/sh

論壇徽章:
0
6 [報(bào)告]
發(fā)表于 2010-01-30 08:51 |只看該作者
繼續(xù)求助

論壇徽章:
0
7 [報(bào)告]
發(fā)表于 2010-01-30 08:54 |只看該作者
輸入一個(gè)有的進(jìn)程臨時(shí)文件中還是會(huì)打印當(dāng)前shell,見(jiàn)如下最后一行
sbmp:/tmp/ou # ./pskill.sh ora_
20695 ora_pmon_ora11g
20697 ora_vktm_ora11g
20701 ora_diag_ora11g
20703 ora_dbrm_ora11g
20705 ora_psp0_ora11g
……………………………………
……………………………………
20727 ora_s000_ora11g
7729 ora_fbda_ora11g
7734 ora_qmnc_ora11g
7748 ora_q000_ora11g
7750 ora_q001_ora11g
7825 ora_smco_ora11g
8376 ora_w000_ora11g
8550 /bin/sh

論壇徽章:
0
8 [報(bào)告]
發(fā)表于 2010-01-30 09:39 |只看該作者
這種現(xiàn)象不是很正常么?

試驗(yàn):

$ cat test.sh
#!/bin/sh
ps -ef|grep $1|grep -v grep

$ ./test.sh dummy   
    hper 16449 16431   0 09:34:32 pts/44      0:00 /bin/sh ./test.sh dummy
$
您需要登錄后才可以回帖 登錄 | 注冊(cè)

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

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP