簡體   English   中英

獲取Linux中nohup提交的作業的PID

[英]Get PID of the jobs submitted by nohup in Linux

我正在使用nohup在通過BSUB和ssh獲得的計算機中在后台提交作業。

我的主要計算機在RHEL ,從那里我通過BSUB拾取了另一台AIX計算機(將作業提交給LSF),並且還通過SSH登錄到另一台服務器。 獲得這兩台機器后,通過nohup在其中執行腳本( inner.sh )。

我正在通過正在執行的腳本( inner.sh )中的echo $$捕獲相應的PID。 在后台提交nohup執行后,我將退出兩台機器,然后又回到主RHEL機器。

現在,我正在這台RHEL機器上,借助先前捕獲的兩個PID嘗試通過ps -p PID獲取nohup執行的狀態,但未列出任何進程。

頂級包裝器腳本wrapper.sh

#!/bin/bash

#login to a remote server
ssh -k xyz@abc < env_setup.sh

#picking up a AIX machine form LSF
bsub -q night -Is ksh -i env_setup.sh

ps -p process-<AIX_machine>.pid
#got no output
ps -p process-<server_machine>.pid
#got no output

腳本傳遞給BSUB / SSH拾取的計算機,以執行nohup env_setup.sh

#!/bin/bash
nohup sh /path/to/dir/inner.sh > /path/to/dir/log-<hostname>.out &
exit

我試圖在由BSUB / SSH inner.sh拾取的計算機中執行的實際腳本:

#!/bin/bash
echo $$ > /path/to/dir/process-<hostname>.pid
#hope this would give correct us the PID of the remote machine
#execute some other commands

現在,我得到兩個分別用兩個PID更新的process-<hostname>.pid文件。

但是包裝腳本中的ps -p沒有提供任何輸出。

我正在從遠程計算機上獲取進程ID,並在本地RHEL計算機上執行ps -p

這是我沒有獲得這兩個進程的任何狀態更新的原因嗎?

我還能做些其他事情來獲取身份嗎?

ps給出本地進程的狀態。 bsub可用於獲取每台遠程計算機上的進程狀態。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM