Veröffentlicht 22. November 200123 j Ich brauche dringend Hilfe.... Ich muss ein Script schreiben, der die Prozesse löscht, die ich in der Eingabezeile eingebe. Hat jemand eine Idee? P.S.Ich habe was von AWK gehört, aber kenne mich damit nicht aus. MARGO
22. November 200123 j Wieso killst du die Prozesse nicht éinfach von Hand? kill oder wenns ganz hart sein soll kill -9 außerdem bissle detaillierter wäre vorteilhaft. Gruß Active Directory
22. November 200123 j Es sind zu viele Jobs... Deswegen stelle ich mir das ganze so vor: Mit dem Befehl soll ein Script gestartet werden # killall php3 vobei "php3" durch andere Jobsnamen ersetzt werden kann 1. die eingabe(z.B. php3) wird eingelesen 2.Der Script soll auch die Jobs mit namen php3 löschen. Ja, so will ich das haben, ich weis aber nicht wie ich das hinkriege...
22. November 200123 j <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von bRAIN2fast: <STRONG>Das muss man aber nicht verstehen was du da von dir gibst, oder?! Cya</STRONG>
22. November 200123 j Was du eigenlich machen willst. Meinst du das vielleicht so: Du hast eine Menge Prozesse (z.B. A, B, C, D) und möchtest die alle durch ein Skript stopen/killen lassen. Cya
22. November 200123 j Genau, aber nicht ganz. Ich möchte nur die Prozesse killen, deren Name ich beim starten von den Script eingebe. Gruß, Margo
22. November 200123 j Hi, wenn ich dich recht verstehe willst du alle prozesse eines bestimmten users killen... na dann, ja awk is nicht schlecht aber es geht auch einfacher.... #!/bin/sh USER="youruser" ACTION="echo" ## oder kill oder ... for i in `ps aux | grep $USER | cut -d" " -f7`; do $ACTION $i done ##EOF vielleicht musst du f7 durch was anderes ersetzen... am besten... #man cut... #man grep #man bash am besten guckst du dir mal an was passiert... es wird dauernd nur die ausgabe eines programmes in ein anderes umgeleitet und weiterverarbeitet... das ganze dann in einer for schleife... have fun! tom
22. November 200123 j Hi, sorry, wenn du den namen uebergeben willst kannst du einfach user=$1 setzen, dies bezeichnet den ersten parameter, der dem script uebergeben wird... have fun, tom
23. November 200123 j Wenn du das ganze nicht nach Usern machen willst: #!/bin/sh for i in $* do killall $i done #EOF Beispiel: $./skript apache sshd samba Da müsste der apache sshd und der samba gestoppt/gekillt werden. Habs nicht ausprobiert müsste aber stimmen. Cya
24. November 200123 j Hallo Leute, muss euch leider weiter nerven Habe ausprobiert die Version von bRAIN2fast. In dem script steht dann das: #!/bin/sh for i in $* do killall $i done #EOF Starte das script: # ./script lookupd bekomme diese Meldung: ./test: command not found: killall [5] Was mache ich falsch? Gruß, MARGO
24. November 200123 j <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica, sans-serif">Zitat:</font><HR>Original erstellt von margo: <STRONG>Hallo Leute, muss euch leider weiter nerven Habe ausprobiert die Version von bRAIN2fast. [...] bekomme diese Meldung: ./test: command not found: killall [5] </STRONG>
4. Dezember 200123 j geht pkill programmname nicht? kannst eh nur als user deine prozesse killen, als root waere es schon komplizierter
6. Dezember 200123 j Wenn du Perl hast probiers mal so: 1. Schreib das in eine datei (Bsp. Perlkill): #!/usr/bin/perl print "Prozessnummer eingeben: \n"; chomp($proc=<stdin> ); system ("kill $proc"); 2. Führe das Programm danach aus: perl perlkill (Müßt eigentlich auf jedem Linuxrechner gehen) 3. Gib die Prozessnummer an ps. Achja, Execute bit setzen (chmod +x perlkill)
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.