Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

PID bei einem Prozess abfragen

Frage Linux

Mitglied: gijoe

gijoe (Level 2) - Jetzt verbinden

21.04.2008, aktualisiert 24.04.2008, 13298 Aufrufe, 5 Kommentare

Hi,

Wenn ich in einem Shell-Script einen neuen Prozess auslöse (zB firefox), wie kann ich die Prozessnummer direkt in einer Variablen speichern?

Gruss
Mitglied: datasearch
21.04.2008 um 20:51 Uhr
Suchst du sowas?

01.
if (PID=$(pidof firefox-bin)); then echo $PID; else echo -1; fi
pidof gibt alle pids eines Programmes zurück, sollte man beachten falls du mehrere instanzen zb. von Bash laufen hast.
Bitte warten ..
Mitglied: gijoe
22.04.2008 um 12:08 Uhr
Danke für deine Antwort. Ich hoffte allerdings, dass ich auf den Prozessnamen verzichten könnte (Er ist unheimlich lang, so etwa: /usr/bin/meinprogra -l diesundas -t user ....usw)

Ich dachte eher an sowas:

PID= ${`/usr/bin/meinpgrogramm}


Gibts sowas? Bei Windwos gibts das;)

Gruss
Bitte warten ..
Mitglied: datasearch
22.04.2008 um 16:28 Uhr
Normalerweise gibt das Tool "pidof" alle PID's einer Binary zurück, wenn sie gestartet ist. Du kannst das auch mit pidof /usr/bin/firefox-bin aufrufen. Sollte genauso funktionieren. Du benötigst NICHT den namen des Prozesses inkl. aller Parameter.

Naja, ansonsten kannst du das noch mit der folgenden leichtzumerkenden Befehlskette nach dem Prozessnamen filtern. Das brauchst du wenn du nur eine ganz bestimmte instanz einer binary zb. /bin/bash /usr/libexec/irgendwas -o blah1 -o blah2 ... aber nicht alle laufenden Prozesse erwischen.
01.
ps -A -o pid,command | grep -i /bin/bash | awk '{ print $1}' | while read PID; do echo "Prozesskennung: $PID"; done
Wobei /bin/bash der pfad des Programmes das du suchst ist. ps -Ao pid,command listet ALLE prozesse, aber nur die PID und den Befehl mit dem sie gestartet wurden. grep -i /PFAD/ZUR/BINARY sucht in der Liste nur nach Zeilen die den Pfad enthalten. AWK filtert die 1. Spalte dieser liste und WHILE READ startet eine Schreife für jede PID.
Damit kannst du alle Prozesse von /bin/irgendwas killen, nicen, ärgern oder sonstwas treiben.
Bitte warten ..
Mitglied: gijoe
23.04.2008 um 11:57 Uhr
Danke, das mit dem pidof funktioniert tadellos, es geht tatsächlich wenn ich nur ein bruchteil des Prozesses angebe.
VIELEN DANK.

Gruss
Bitte warten ..
Mitglied: RiffRaff
24.04.2008 um 23:03 Uhr
Wollte noch hinzufügen:
Ich selbst bevorzuge immer die XPG4-Konformität. Damit ist es eigentlich niemals notwendig
mit ps gleichzeitig grep zu benutzen - und es ist sicherer, da irrtümer ausgeschlossen sind.
Und es macht die Sache wirklich einfach um automatisch Prozesse zu killen.


PID=$(UNIX95= ps -C firefox -o pid=)


Wichtig: UNIX95 ist die XPG4-Directive - eine temporaere variable die nie exportiert wird oder gesetzt wird.
hinter dem Gleichheitszeichen ist eine leerstelle!)

man PS

alle UNIX-derivate sind XPG4-konform - darum funktionier das wunderbar auf HP-UX (im HP-IT-Ressource-Centre gibt es unzaehlige Infos darüber), auf Sun, auf Linux, etc. p.p.
Bitte warten ..
Neuester Wissensbeitrag
Festplatten, SSD, Raid

12TB written pro SSD in 2 Jahren mit RAID5 auf Hyper-VServer

Erfahrungsbericht von Lochkartenstanzer zum Thema Festplatten, SSD, Raid ...

Ähnliche Inhalte
Windows 7
Computer OU auslesen bzw. abfragen (2)

Frage von mexx991 zum Thema Windows 7 ...

Netzwerkgrundlagen
gelöst Beliebigen Zeitserver auf Zeit abfragen (4)

Frage von blade999 zum Thema Netzwerkgrundlagen ...

Windows Netzwerk
gelöst Alle Drucker in verschiedenen Netzen Abfragen (4)

Frage von ChrisIO zum Thema Windows Netzwerk ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...