Frage : Helfen, einen KSH-Index auf AIX-Kasten zu schreiben.

Ich benötige Hilfe, einen LOGON KSH-script.

Users zu einem PC zu schreiben und Lernabschnitte einer Reflexion X zu erschließen, der mit dem AIX-Kasten spricht und erschließe einen Prozess für jeden Benutzer, der dieses laufen lässt. Reflexion X ist die Xfenster session.

Sample ausgegeben:

rs3147: /> ps - E-F |Grep CATSTAR2
c36787 368886 110636 0 14:07: 24 /usr/catia425/v425/code/st des 0:00 pts/5 eplib/CATSTAR2 CATIA 64 0 0 0
c52077 421934 520350 0 14:02: /usr/catia425/v425/code/st des 0:13 35 pts/4 eplib/CATSTAR2 CATIA 64 0 0 0
c52193 434176 69862 0 08:11: 10 /usr/catia425/v425/code/st des 0:01 pts/0 eplib/CATSTAR2 CATIA 64 ist 0 0 0

The Problem, dass, wenn Benutzer abmeldet, es manchmal jene laufenden Lernabschnitte lässt, und es übernimmt Elternteil Identifikation von „0“. Ich benötige Hilfe, Indexe zu verursachen, die ausgehen und überprüfen, zu sehen, wenn es irgendein Prozesslaufen ähnlich den im Beispielausgang oben gibt. Aber, ich wünsche nur den Index die Prozesse mit einer Elternteil Identifikation von „0“ töten. Ich möchte nicht aktive processes.

Please Hilfe und Antwort mit irgendwelchen Fragen oder mehr Informationen needed.

Thank you
zurück töten

Antwort : Helfen, einen KSH-Index auf AIX-Kasten zu schreiben.

1) ist dieses wirklich ein Hängen Lernabschnitt? Ich annehme nicht so o, weil es ein ttsession Geschenk gibt, das den Index vom Handeln alles hält.  Außerdem ist der grundlegende Xterm nicht ein Kind von init aber von gsl_09.07.007, das scheint, die „normale“ Situation zu sein.

Könnte es sein, dass das Problem der Moment, den entsteht dieses unverständliche gsl_09.07.007 verschwindet und Xterm verwaist lässt?

2) Kein Wunder das Indexausfallen, mit allen jenen Extrazeilenvorschüben! Woher kommen sie?

#! /bin/ksh
ps - E-F - O-Benutzer, pid, args | Grep catintr | während gelesene Linie
 tun
  $line einstellen
   USER=$1
   PID=$2
   CMD=$3
    wenn [$ (ps - E-F - O-Benutzer, comm | Grep $USER | Grep - c dtsession) - Ne 0 \
           - O $ (ps - E-F - O-Benutzer, comm | Grep $USER | Grep - c ttsession) - Ne 0]
     dann:
      sonst
       für pid in $ (proctree $PID 2>/dev/null | awk „{Druck $1}“ | Art - NU)
         tun
          wenn [$ (ps - f - O user= - p $pid 2>/dev/null) = $USER]
            dann
             ps - fp $pid
             Echotötung $pid
          FI
         getan
         Echo „---“
    FI
 getan
Ausgang

Sie können nicht aufgeteilte Linien in einem Shell-Skript, wohin Sie mögen. Es gibt einige beobachtet zu werden Syntaxrichtlinien!

wmp

Weitere Lösungen  
 
programming4us programming4us