• 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

Applescript, Shell, Quicksilver

commander

Baldwins roter Pepping
Unvergessen
Registriert
25.02.04
Beiträge
3.206
Servus,

habe folgendes Problem:

Der tolle CheckPoint VPN Client lässt den Airportprozess auf meinem MBP verrückt spielen, nach jedem login rennt der los und macht eine CPU dicht. Das ist ein bekannter Bug, kein Patch verfügbar.

Nun hab ich mir ein mini-script geschrieben, das den airport-prozess ausknippst. Das musste ich vorher immer händisch über die Aktivitätsanzeige machen.

So schaut das script aus:

Code:
kill -9 `ps ax | grep airport | grep -v grep | cut -f1 -d' '`

Funktioniert im Terminal wunderbar.

Ich will das aber über Quicksilver mit Abracadabra (Mausgesten) auslösen. Trage also das script ein und als Action run(shell).

Funzt nicht.

In Applescript verpackt (mit und ohne Administrator Privilegien) klappts auch nicht.

Code:
try
	do shell script "airportkiller"
end try

Ich habs schon mit allen möglichen Pfaden probiert, im moment liegt das script aus lauter Verzweiflung bereits in /usr/bin/ und ist rwx für alle und jeden.

Trotzdem kann ich das script weder über QS noch über Applescript ausführen - warum?

Gruß,

.commander
 

quarx

Brauner Matapfel
Registriert
17.04.05
Beiträge
8.444
Steht am Anfang des Shellskripts auch ein
Code:
#!/bin/sh
oder Ähnliches? Eventuell braucht man das.

P.S.: Du kannst auch einfach direkt in AS
Code:
do shell script "kill -9 `ps ax | grep airport | grep -v grep | cut -f1 -d' '`"
tippen, geht das?
 
Zuletzt bearbeitet:

commander

Baldwins roter Pepping
Unvergessen
Registriert
25.02.04
Beiträge
3.206
Danke für den Hinweis, hat nur leider nichts genützt :(

es funktionert auch der 'do shell script' Aufruf aus Applescript heraus nicht.... !!! ???

Hmmm
 

quarx

Brauner Matapfel
Registriert
17.04.05
Beiträge
8.444
Hab grad keinen Mac vor mir, aber unter Linux zumindest fängt die Ausgabe des ps-Befehls ggf. mit Leerzeichen an, je nach Höhe der Prozessnummer (d.h. man müsste erst die führenden Leerzeichen wegschnibbeln).

Edit: schalte hierzu einen sed dazwischen
Code:
do shell script "kill -9 `ps ax | sed 's/^[ ]*//' | grep airport | grep -v grep | cut -f1 -d' '`"
 
Zuletzt bearbeitet:

commander

Baldwins roter Pepping
Unvergessen
Registriert
25.02.04
Beiträge
3.206
Nachdem das Script selbst ja zuverlässig funktioniert, und somit kill Leerzeichentolerant ist, glaube ich nicht, dass es daran liegt ....
 

csharp

Gast
tell application "System Events"
if exists process "airport" then
try
quit application "airport"
end try
end if
end tell

ungestestet!
 
Zuletzt bearbeitet von einem Moderator:

quarx

Brauner Matapfel
Registriert
17.04.05
Beiträge
8.444
@commander: kill ist leerzeichentolerant, aber nicht cut... ;)
 

pepi

Cellini
Registriert
03.09.05
Beiträge
8.740
Bloß nicht auf den $PATH vergessen...
Gruß Pepi
 

Skeeve

Pomme d'or
Registriert
26.10.05
Beiträge
3.120
Code:
kill -9 `ps ax | grep airport | grep -v grep | cut -f1 -d' '`
Mal analysieren:
ps ax: Alle Prozesse listen
| grep airport: die "airport" enthalten
| grep -v grep: Aber nicht grep
| cut -f1 -d: Ich nehme an: PID ermitteln

1. | grep airport | grep -v grep
geht einfacher in der Vaiante:
| grep [a]irport

2. warum nicht einfach
killall -9 airport
 

commander

Baldwins roter Pepping
Unvergessen
Registriert
25.02.04
Beiträge
3.206
Jo, da hast Du ma echt recht....

Ich führe das killall nun direkt in Applescript aus - und es funzt!

Aber: Wieso bekomme ich bei manchen Skripts folgende Anzeige, bei manch anderen aber nicht?

Alle sind als Programm gespeichert....
 

Anhänge

  • Bild 3.png
    Bild 3.png
    14,7 KB · Aufrufe: 103

Skeeve

Pomme d'or
Registriert
26.10.05
Beiträge
3.120
Aber: Wieso bekomme ich bei manchen Skripts folgende Anzeige, bei manch anderen aber nicht?
Weil Du bei manchen Script das Häkchen bei "Startdialog zeigen" (oder so ähnlich) im Speichern-Dialog gesetzt hast, und bei manch anderen aber nicht.
 

commander

Baldwins roter Pepping
Unvergessen
Registriert
25.02.04
Beiträge
3.206
Tatsächlich - Danke!

Das kommt daher, dass ich manche erst als script gespeichert hatte und bei den ist der Dialog Defaultmässig aktiviert - bei Apps dagegen nicht, jedoch vergessen die Files diese Eigenschaft nicht, wenn man sie später von Skript zu App transformiert.

Gruß,

.commander