• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Zählen von Prozessen mit dem gleichen Namen

BlackHawk

Jonagold
Registriert
11.08.08
Beiträge
22
Also habe folgndes Problem, für das ich wahrscheinlich einfach zu dumm bin.
Also will ne Komandozeile, die mir gibt, z.B. Wie viele Finder offen sind wenn es geht.

Habe folgendes was irgendwie nicht geht:
Code:
tell application "System Events"
    set NameList to get name of every process
    set Hallo to (count of "Finder") of NameList
end tell


Das lustige ist ja aber dass ich eine 6 bekomme und 6 Finder kann man nicht ooden haben

Danke für eure Lösungen

Mit freundlichen Grüßen
BlackHawk
 

pepi

Cellini
Registriert
03.09.05
Beiträge
8.740
ps -ax | awk '{print $4}' | grep "Finder" | uniq -c | awk '{print $1}'

Geht sogar noch kürzer
ps -ax | grep Finder | uniq -c -f 3 | awk '{print $1}'

Und ja, ich bin einigermaßen sicher, daß man das noch kürzer lösen kann.
Gruß Pepi
 

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
Man kann mehrere Finder auf haben, entweder durch verschiedene User, aber auch mit einem einzigen (Binary direkt aufrufen).
ps -ax | grep -i "Finder.app" | grep -v "grep" | wc -l

Alle zählen Prozesse, die Finder.app enthalten außer demjenigen, der danach gerade sucht und auch in der Liste daher auftaucht.

Nur anzeigen:
ps -ax | grep -i "Finder.app" | grep -v "grep"

Das kann man zwar auch mit dem "Activity Monitor.app", aber warum auch …
 

pepi

Cellini
Registriert
03.09.05
Beiträge
8.740
ps -ax | grep -c Finder.app
kürzer schaff ichs nun aber wirklich nimmer. :)
Gruß Pepi
 

kauan

Stina Lohmann
Registriert
31.12.05
Beiträge
1.043
Der gute Herr fragte nach einer Lösung in AppleScript.
 

CloneOfMyself

Weigelts Zinszahler (Rotfranch)
Registriert
24.02.07
Beiträge
253
Probier mal das allein:
count of "Finder"
Fällt Dir etwas auf?
 

CloneOfMyself

Weigelts Zinszahler (Rotfranch)
Registriert
24.02.07
Beiträge
253
Wie MacMark schon aufzeigte, liefert das aber ein falsches Ergebnis, da auch der laufende grep-process den String enthält und somit mitgezählt würden.

do shell script "ps -ax | grep Finder.app | grep -cv grep"

aber das ist auch Mist, weil's einen Fehler liefert, wenn kein Vorkommen. Also MacMarks Lösung ist schon die Königslösung:

last word of (do shell script "ps -ax | grep -i \"Finder.app\" | grep -v \"grep\" | wc -l") as integer
 
Zuletzt bearbeitet:

pepi

Cellini
Registriert
03.09.05
Beiträge
8.740
Ich habe auch vermutet, daß man den grep Befehl extra ausnehmen muß und habe mich daher sehr gewundert, daß der trotzdem korrekt zählt. Es werden auch die richtigen Prozesse gezählt. Wie gesagt, ich hätte es auch nicht vermutet, aber meine Tests haben ergeben, daß das Ergebnis korrekt ist. (Ich hab natürlich mit einem Prozessnamen getestet der auch tatsächlich mehr als eine Instanz zurückliefert.)
Gruß Pepi
 

BlackHawk

Jonagold
Registriert
11.08.08
Beiträge
22
Habe es jetzt ein bischen anders als ihr aber mein Fehler war das whose (wusste davor noch dichts davon)

tell application "System Events"
set isRunning to (count of (every process whose name is "Finder"))
end tell

Bedanke mich mal wieder für die tolle Hilfe von euch

MfG BlackHawk