• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

(Administrator-)Prozesse per AppleScript beenden

Zettt

Doppelter Melonenapfel
Registriert
16.10.05
Beiträge
3.374
Hallo Jungs,

Ich moechte mir gerne ein AppleScript basteln, dass mir laufende Prozesse killt.

Leider gibt es da ja ein Problem, wenn ich nicht Inhaber des Prozesses bin.
Ich dachte an eventuell eine If-Abfrage oder sowas...
Code:
set the_result to display dialog ¬
	"Which application to shut down?" default answer ¬
	"" buttons {"Cancel", "OK"} ¬
	default button "OK"
set button_pressed to button returned of the_result
set text_typed to text returned of the_result
if button_pressed is "OK" then
	-- action for default button button goes here
	--do shell script "sudo /usr/local/sbin/throttled-startup" password "password here" with administrator privileges
else
	-- action for cancel button goes here
end if
Das ist im Prinzip das "dialog" Snippet aus TextMate.
Das ''do shell script" hab ich mir aus einem anderen Forum bereits mal reinkopiert, weil ich dachte es koennte vielleicht mal nuetzlich werden.

Bin fuer Hilfe dankbar.
Zettt
 
Was hältst Du davon, im Terminal mit ps -aux die laufenden Prozesse abzufragen und mit kill prozess-id abzuschießen?
 
Naja ... im Prinzip ja egal. Ich wollte das halt per
Code:
killall
machen.
Trotzdem. Im Moment steh ich auf dem Schlauch. ;)
 
Fahr doch den Rechner runter, Du hast doch sicher auch so einen killall-Knopf, oder? :-D
 
  • Like
Reaktionen: 1 Person
Ja schon. Aber ich will's ja per AppleScript machen. Weil ich irgendwie die starke Befuerchtung habe, dass Quicksilver nicht mehr so ganz aktiv ist und demnaechst weg ist. Also muss ich das irgendwie ersetzen. Und ein Ding das ich mit Quicksilver eben gemacht habe war Anwendungen zu beenden. Zumindest diese ohne Interface. :-o
 
--do shell script "sudo /usr/local/sbin/throttled-startup" password "password here" with administrator privileges
Das ist völliger Murkx.
Das "with administrator privileges" sorgt bereits dafür, dass ein Befehl mit Systemrechten durchgeführt wird, ein "sudo" wäre dann doppelt gemoppelt.
 
wenn du als admin unterwegs bist, braucht's das passwort und die privilegien nicht:

Code:
tell application "System Events"
	set processlist to name of every process
	set killprocess to (choose from list processlist without multiple selections allowed)
	if killprocess is not false then
		do shell script "kill " & (unix id of application process (item 1 of killprocess) as text) -- password "sogeheim" with administrator privileges
	end if
end tell
 
Also nochmal mein Problem.

Ein Fenster soll aufgehen mit Eigabemoeglichkeit. Dort geb ich den Namen eines Prozesses ein und dieser soll beendet werden.
Falls es ein Adminprozess ist, soll dieser ebenfalls beendet werden.
 
code schon getestet?
mit etwas fantasie solltest du damit ans ziel kommen, oder?
übergibt man (als eingeloggter admin) in leo mit administrator privileges, kommt eine meldung, dass man die rechte verletzt hat. es kommt also auch darauf an, wie du eingeloggt bist.