pipe 及 監控的問題 - Linux

Table of Contents

1.我想做一個雙向的pipe,如果是單向的很簡單用A|B就可以把A的stdout傳給B的stdin了

但如果想要再把B的stdout傳給A的stdin,請問要怎麼做呢?

是要用一個buffer(FIFO)檔案嗎?

2.另外因為實驗的需要,要監控一個程式執行了多久,及是否跑完了。

人工可以用ps -e|grep去找,但是現在

我想寫一個shell,它裡面會執行一個程式abc,我會用abc&的方式去執行他。

然後我需要監控說,一、它跑完了沒,然後做下一個動作。

二、它跑了多久,來決定我是否要砍掉(kill)它。

請問如是的shell script要如何寫呢?

目前大致上想到的是sudo script如下

abc&
while [ abc exists ]; do
if [ its run time > threshold ]; then
kill it
break
fi
done
next task


謝謝

--

All Comments

Irma avatarIrma2011-07-19
jobs , kill, sleep
George avatarGeorge2011-07-19
abs&
sleep time
Mary avatarMary2011-07-23
jobs abc
Zanna avatarZanna2011-07-25
[ "$?" -eq 0 ] && kill -9 $(jobs -p abc)
Victoria avatarVictoria2011-07-29
next task
Thomas avatarThomas2011-07-31
非常感謝