2011-07-07 29 views

回答

0

設置一些變量test1.php和可變發送到test2.php檢查變量值在test2.php如果未設置然後執行exit()

0

原諒我,如果我懵了(初級SH用戶),但你能不能用& &,這樣第一個返回值爲0(成功)後,纔會執行第二個命令分隔命令?

(command1) && (command2);

編輯:或使用||如果命令1返回非零,則運行命令2

1

如果「test1.php」自我守護,那麼「test2.php」可能會在前者終止之前執行。如果你想避免這種情況下,你可以使用類似以下內容:在任何給定的時間

#!/usr/bin/env bash 

test1.php 

PIDLIST=$(ps axwww | fgrep -v grep | fgrep "test1.php" | awk '{ print $1 }') 

while [ ! -z "$PIDLIST" ]; do 
    sleep 1 
    PIDLIST=$(ps axwww | fgrep -v grep | fgrep "test1.php" | awk '{ print $1 }') 
done 

test2.php 

假設,只有一個test1.php可以在系統上運行。

+0

'test1.php'並不需要做完整的守護進程;只需分叉並退出就足夠了。 (守護進程會經歷一些額外的工作,但不會影響結果;解釋大部分是正確的,只是過於具體。)但是+1指出了分叉的可能性。 – cHao

相關問題