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

Chinaunix

標(biāo)題: 請教一個shell編程的問題 [打印本頁]

作者: luyunfeng    時間: 2005-08-16 10:55
標(biāo)題: 請教一個shell編程的問題
以前,我寫了一個vtcl 的 shell,在這個 vtcl shell 里,再調(diào)用了 某個 example.sh 的文件,這個 example.sh 文件的功能又是啟動某個應(yīng)用程序。

在vtcl shell 里是這樣的:
# runme.vtcl
#!/bin/vtcl
catch { exec example.sh & } out

在 example.sh 里是這樣的:
因為比較復(fù)雜一些,所以我就用描述來說,
首先運行一個應(yīng)用程序testdo,testdo在運行起來后,就先fork()了,然后,testdo的主進(jìn)程輸出子進(jìn)程號后,就自動退出,子進(jìn)程繼續(xù)運行。
example.sh中,調(diào)用了 testdo 后,得到了子進(jìn)程號。。。
然后就不斷在一個 while 中,隔一陣子看看這個 testdo 有沒死掉,如果死掉了,就自動啟動一個 testdo
--------------------------------------

結(jié)果呢?我把登錄環(huán)境設(shè)置成ksh,在登錄時,自動運行 runme.vtcl,運行完后,就退出登錄。

結(jié)果出現(xiàn)了以下情況:
在 sco openserver 5.0.5下,一切正常。登出時,example.sh與 testdo 都活著。
在 sco openserver 5.0.7下,當(dāng)?shù)浅鰰r,example.sh馬上沒了,而 testdo 還活著。

可是,如果,在.profile里把自動運行 runme.tcl 去掉,登錄后,手工動行它,再登出后, example.sh 與 testdo 都活著。

不理解?有人能解惑嗎?
作者: luyunfeng    時間: 2005-08-16 10:58
標(biāo)題: 請教一個shell編程的問題
我不知道 sco 的 shell 從 5.0.5 到 5.0.7 改了些什么默認(rèn)的東西。因為我發(fā)現(xiàn),在用 scoadmin 創(chuàng)建用戶時, 5.0.5 下,默認(rèn)的 shell 是 sh,而 5.0.7 下,默認(rèn)的 shell 是 ksh。。。

并且,man ksh 后,里面有一句話是說 sh 實際上是 ksh 的一個 link.
作者: luyunfeng    時間: 2005-08-16 21:40
標(biāo)題: 請教一個shell編程的問題
木有銀知道問題么?
作者: luyunfeng    時間: 2005-08-17 16:25
標(biāo)題: 請教一個shell編程的問題
修改runme.vtcl 的這句:
catch { exec example.sh & } out


catch {exec setpgrp example.sh & } out

這樣,當(dāng) runme.vtcl 退出時,
example.sh 與 testdo 的 PPID=1,TTY=?

就都不會退出了。。。完美實現(xiàn)。。。進(jìn)程CORE掉后,自動啟動。




歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2