Hmmm, normalerweise verwende ich ^ T (control-T), um zu sehen, wer ich bin und $ SHOW US CWHII / FULL. Dann schießen Sie nach Bedarf zu töten.
Wenn wir von "alt" ausgehen und NICHT die aktuelle Sitzung meinen, dann schreiben Sie das wie folgt:
$ type CLEAN_ME_UP.COM $ ctx = "" $ this = F$GETJPI( "", "PRCNAM" ) $ user = F$GETJPI( "", "USERNAME" ) $ node = F$GETJPI( "", "NODENAME" ) $ temp = F$CONTEXT( "PROCESS", ctx, "USERNAME", user, "EQL" ) $ temp = F$CONTEXT ("PROCESS", ctx, "NODENAME", node, "EQL") $! IF F$TYPE( ctx ) .NES. "PROCESS_CONTEXT" THEN EXIT $loop: $ pid = F$PID( ctx ) $ IF pid .EQS. "" THEN EXIT $ that = F$GETJPI( pid, "PRCNAM" ) $ IF this.EQS.that $ THEN $ WRITE SYS$OUTPUT pid, " new" $ ELSE $ WRITE SYS$OUTPUT pid, " old" $ ENDIF $ GOTO loop
- Natürlich möchten Sie den WRITE SYS $ OUTPUT mit STOP / ID ersetzen, wenn Sie zufrieden sind.
- Entfernen Sie den NODE-Kontext, wenn Sie dies für alle älteren Prozesse auf jedem Knoten tun möchten.
- Betrachten Sie F $ GETJPI ("", "LOGINTIM"), wenn Sie wirklich "älter" verwenden möchten (in Fuß schießen?).
Prost, Hein
neu formatiert:
$ ctx = "" $ this = F$GETJPI( "", "PRCNAM" ) $ temp = F$CONTEXT( "PROCESS", ctx, "USERNAME", F$GETJPI("","USERNAME"), "EQL" ) $ temp = F$CONTEXT ("PROCESS", ctx, "NODENAME", F$GETJPI("","NODENAME"), "EQL") $! IF F$TYPE( ctx ) .NES. "PROCESS_CONTEXT" THEN EXIT $loop: $ pid = F$PID( ctx ) $ IF pid .EQS. "" THEN EXIT $ IF F$GETJPI( pid, "PRCNAM" ).NES.F$GETJPI("", "PRCNAM") THEN WRITE SYS$OUTPUT "STOP ",pid $ GOTO loop