Hier ist etwas. Aber es ist ein bisschen chaotisch.
[[email protected] ~]$ bjobs -l 806
Job <806>, User <mclosson>, Project <default>, Status <RUN>, Queue <normal>, Co
mmand <sleep 100000>, Share group charged </mclosson>
Thu Jul 7 15:58:18: Submitted from host <host>, CWD <$HOME>;
Thu Jul 7 15:58:19: Started 1 Task(s) on Host(s) <host>, Allocated 1 Slot(s
) on Host(s) <host>, Execution Home </home/mclosson>, E
xecution CWD </home/mclosson>;
Thu Jul 7 15:58:20: Resource usage collected.
MEM: 5 Mbytes; SWAP: 0 Mbytes; NTHREAD: 4
PGID: 11125; PIDs: 11125 11127 **11129**
[[email protected] ~]$ bjobs -o pids 806
PIDS
11125,11127,**11129**
[[email protected] ~]$ ls -l /proc/**11129**/exe
lrwxrwxrwx 1 mclosson lsf 0 Jul 7 15:59 /proc/11129/exe -> /bin/sleep
Sein chaotisch, weil der Job PID Parsen aus bjobs -l
unordentlich ist. Parsing bjobs -o pids
ist einfacher. Der Befehl ist wahrscheinlich immer die dritte PID. Der erste ist der Job res, der zweite das Jobskript. Wenn der Befehl andere Befehle startet, werden diese PIDs ebenfalls angezeigt. Ich bezweifle, dass sich die Reihenfolge der Pids aufgrund der Interaktion mit verschiedenen LSF-Merkmalen (z.B. cgroups, pim, blaunch) garantiert nicht ändert. Also Vorbehalte emptor.
Es ist auch chaotisch, weil Sie ssh
zum Ausführungshost haben und das proc-Dateisystem überprüfen müssen. Und nur root oder der Jobausführungsbenutzer kann auf/proc für diesen bestimmten Prozess zugreifen.
Ich glaube nicht, dass es einen einfachen Weg gibt, es zu tun. Die PATH-Variable wird in der Übergabeumgebung erfasst und dann in der Ausführungsumgebung des Jobs festgelegt. –