launchctl et LaunchAgent qui ne marche plus...
Le
Une Bévue

Depuis des années j'avais un serveur qui fonctionnait normalement.
Il y a plusieurs mois j'vais ajouté le log de ce serveur dans log rotate.
Il y a eu un problème avec log rotate, le fichier de log étant devenu
trop gros (plus de 5Mo).
Depuis j'ai supprimé le log de ce serveur de log rotate.
Mais quand je relance ce serveur ça ne marche plus et je n'ai pas
d'erreur dans la console.
Par lauchctl list me dit qu'il y a eu un pb :
$ launchctl list | grep org.ytho.em-websocket-queue
- 78 org.ytho.em-websocket-queue
et :
.-[yt@mbp.local:~][16-01-20 18:08:35]
'->$ launchctl list org.ytho.em-websocket-queue
{
"StandardOutPath" =
"/Users/yt/Library/Logs/org.ytho/org.ytho.em-websocket-queue.log";
"LimitLoadToSessionType" = "Aqua";
"StandardErrorPath" =
"/Users/yt/Library/Logs/org.ytho/org.ytho.em-websocket-queue.err.log";
"Label" = "org.ytho.em-websocket-queue";
"TimeOut" = 30;
"OnDemand" = false;
"LastExitStatus" = 19968;
"Program" = "/Users/yt/.rvm/bin/rvm-auto-ruby";
"ProgramArguments" = (
"/Users/yt/.rvm/bin/rvm-auto-ruby";
"/Users/yt/bin/servers/em-websocket-queue.rb";
);
};
si je lance ce serveur au terminal par :
$ /Users/yt/.rvm/bin/rvm-auto-ruby
/Users/yt/bin/servers/em-websocket-queue.rb
(soit par les arguments filés à launchd)
tout se passe normalement, ça roule.
ça roule aussi si je fais directement :
$ /Users/yt/bin/servers/em-websocket-queue.rb
je ne pige pas pourquoi ça ne veut plus marcher par launchctl et je ne
sais pas où chercher le pb
Il y a plusieurs mois j'vais ajouté le log de ce serveur dans log rotate.
Il y a eu un problème avec log rotate, le fichier de log étant devenu
trop gros (plus de 5Mo).
Depuis j'ai supprimé le log de ce serveur de log rotate.
Mais quand je relance ce serveur ça ne marche plus et je n'ai pas
d'erreur dans la console.
Par lauchctl list me dit qu'il y a eu un pb :
$ launchctl list | grep org.ytho.em-websocket-queue
- 78 org.ytho.em-websocket-queue
et :
.-[yt@mbp.local:~][16-01-20 18:08:35]
'->$ launchctl list org.ytho.em-websocket-queue
{
"StandardOutPath" =
"/Users/yt/Library/Logs/org.ytho/org.ytho.em-websocket-queue.log";
"LimitLoadToSessionType" = "Aqua";
"StandardErrorPath" =
"/Users/yt/Library/Logs/org.ytho/org.ytho.em-websocket-queue.err.log";
"Label" = "org.ytho.em-websocket-queue";
"TimeOut" = 30;
"OnDemand" = false;
"LastExitStatus" = 19968;
"Program" = "/Users/yt/.rvm/bin/rvm-auto-ruby";
"ProgramArguments" = (
"/Users/yt/.rvm/bin/rvm-auto-ruby";
"/Users/yt/bin/servers/em-websocket-queue.rb";
);
};
si je lance ce serveur au terminal par :
$ /Users/yt/.rvm/bin/rvm-auto-ruby
/Users/yt/bin/servers/em-websocket-queue.rb
(soit par les arguments filés à launchd)
tout se passe normalement, ça roule.
ça roule aussi si je fais directement :
$ /Users/yt/bin/servers/em-websocket-queue.rb
je ne pige pas pourquoi ça ne veut plus marcher par launchctl et je ne
sais pas où chercher le pb
bon, j'ai "un peu" progressé en regardant system.log.
la commande :
$ grep org.ytho.em-websocket-queue /var/log/system.log
me donne à sa dernière ligne :
Jan 20 18:25:25 mbp com.apple.xpc.launchd[1]
(org.ytho.em-websocket-queue[17238]): Service could not initialize:
15D21: xpcproxy + 12644 [1472][13E77DA5-3602-31BF-B074-49D4EE27E9D8]: 0xd
bon, j'ai regardé les perms de mes fichiers de log j'ai corrigé en
mettant a+w et apparemment ça roule...