我想通過ssh啓動一個進程的PID。通過ssh獲取nohup進程的PID
我有一個bash腳本,並在這裏是我寫的:
SSH_COMMAND='ssh'
cmd=`eval $my_cmd`
PROG_CMD="$program $cmd"
$SSH_COMMAND [email protected] "(nohup $PROG_CMD) & echo "'$!'" > prog.pid"
注意變量「計劃」和「my_cmd」在一個JSON文件中定義(和分別含有我的程序和命令開始我的程序)。
我的程序在服務器上以啓動的方式啓動,但我沒有在prog.pid
文件中正確的PID(即:程序的PID)。
編輯:我做了SSH_COMMAND的回聲,我得到了:
ssh [email protected] (my_program args > output.log 2>&1 &) & echo $! > prog.pid
ARGS:MY-的參數
output.log:登錄我的程序
其中prog.pid在服務器的根目錄的主目錄預期? –
不,prog.pid位於「本地機器」上,我在那裏執行ssh命令。但問題不在這裏。我有一個PID寫在裏面的prog.pid文件...它只是不正確的! – klaus
在第一個命令prog.id是在ssh命令之間的雙引號之間所以期待在遠程 –