Quitter PROPREMENT le dock dans le shell

Elaum

Membre confirmé
12 Mars 2005
19
0
38
marseille
Bonjour :)
Je suis un (très) gros utilisateurs de widgets qui me prennent beaucoup de mémoire voire de CPU.

Lorsque je veux lancer un jeu, j'ai l'habitude de lancer Moniteur d'activité de cliquer sur Dock et de cliquer sur quitter (pas forcer à quitter).
Ca a pour effet de relancer le dock et de quitter Dashboard et donc tous les widgets.

J'aimerais savoir si il existe une commande UNIX qui me permettrait de faire ça sans passer par moniteur d'activité.
Et si possible j'aimerais créer un script shell à partir de cette commande pour l'installer sur plusieurs ordis.
Si quelqu'un sait comment faire :D

J'ai déjà regardé la commande kill mais il me semble que ça quitte "salement".
 
Merci pour ce début de piste.

Bloc de code:
$killall nom_de_l_appli
permet de quitter une application en lui envoyant SIGTERM (15)
Lorsque je quitte normalement un programme sous Xcode, il me dit qu'il à quitter avec le signal 0
Or dans le man de killall et de signal je ne trouve pas le nom du signal 0 et si je met juste -0, ça marche pas.

Si quelqu'un à une idée :D
 
Tu es sur que 0 n'est pas le code de retour ? Dans ce qas, cela signifie que l'appli s'est arrêtée sans problème... ( en retournant la valeur 0)
Pour essayer de répondre, je te conseille de te renseigner sur le signaux de type POSIX (signification et utilisation avec le shell).
Oncle Google devrait te répondre avec plein d'exemples ;-)
 
En fait oui 0 est le code de return 0; à la fin de mes programmes.
En regardant le manuel du terminal, 0 ne fonctionne pas :(
BUGS
A replacement for the command ``kill 0'' for csh(1) users should be provided.

Mon problème est que lorsque je clique sur quitter/quitter dans moniteur d'activité en ayant séléctionné le Dock, ça quitte les widgets mais ça sauvegarde leur positions...
Alors que lorsque que j'utilise killall Dock ou un applescript
Bloc de code:
tell application Dock to quit
ça ne sauvegarde rien.

C'est vraiment génant et je ne sais pas comment faire.

Y aurait il un moyen pour forcer cette sauvegarde en applescript ou shell??

Une piste si quelqu'un peut m'éclairer, j'ai remarqué que lorsque je sort de Dashboard ça sauve les positions mais je ne sais pas du tout comment faire. :(
 
Essaie de verrouiller les prefs de dashboard

~/Library/Preferences/com.apple.dashboard.plist

pour voir si c'est là que les positions sont mémorisées
 
C'est bien là qu'elle sont mémorisé et lorsqu'on "ferme" dashboard, elle sont sauvegardé.

Qu'entend tu par verouiller???
 
Ben pomme-i puis verrouiller :p

Ou alors avant le killall tu renommes ce fichier, puis après le killall tu le rerenommes :p
 
Une ligne du genre :
Bloc de code:
$ kill §(ps auxcww | grep Dock | awk ' { print $2 }')
Chez moi, ça marche proprement. Et je retrouve mes widgets là où je les ai placés.

Il est possible de faire soit un alias, soit un script de cette ligne de code.
À noter que la commande kill <processus> (où processus est désigné par son PID) est la manière la plus propre de quitter un processus.
Dernière chose : il est possible que cette commande ne fonctionne pas en raison d'un problème avec awk. La version native de Mac OS X pose en effet quelques problèmes. Pour y remédier, installer la version livrée par fink.
 
C'est curieux, ce code "paragraphe" (§) : ne serait-ce point plutôt un bon vieux dollar ($) ?
 
bompi a dit:
C'est curieux, ce code "paragraphe" (§) : ne serait-ce point plutôt un bon vieux dollar ($) ?
Ouh là là ! Je n'avais pas mis mes lunettes ! :p :p :p
C'est bien un dollar « $ » qu'il faut, et non un paragraphe « § ».:up:
Bloc de code:
$ kill $(ps auxcww | grep Dock | awk ' { print $2 }')