[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [HS] Crash d'un programme en tant que daemon; pas de crash qd lancé en console



giggzounet a écrit :
> Kevin Hinault a écrit :
>> Le 19 août 2009 10:21, giggzounet<giggzounet@gmail.com> a écrit :
>>> Mais en console je le lance aussi en root et ça fonctionne.
>>>
>>> Bon je veux bien essayer avec un autre utilisateur. comment je fais pour
>>> dire que je veux daemoniser mon programme avec l'utilisateur "truc" ?
>> Non je te dis pas de le faire mais de vérifier si c'est pas déjà le cas ;)
>>
>> Avant de chercher à modifier l'environnement de ton daemon il est
>> juste bon de savoir s'il est lancé en root ou non.
>> Un bon test serait de faire un export de l'environnement juste avant
>> ta commande 'prog1' :
>>
>> env > /tmp/env_de_mon_script
>>
> 
> le probleme c'est que je n'ai pas accès à l'environnement juste avant
> "prog1" :
> 
> qqs détails :
> en gros mon script de lancement contient :
> start_daemon  "$TLM_INSTALL_DIR/rlm" -c "$TLM_INSTALL_DIR/licence.lic"
> -dlog "$TLM_INSTALL_DIR/debug.log"
> avec $TLM_INSTALL_DIR bien défini.
> rlm est un binaire qui fait appel en interne à prog1 (donc pour env
> c'est rapé).
> 
> Si on console je tape :
> path_to_rlm/rlm -c path_to_rlm/licence.lic -dlog path_to_rlm/debug.log
> ça marche.
> 
> Tiens je viens de faire une découverte :
> 
> si je mets :
> path_to_rlm/rlm -c path_to_rlm/licence.lic -dlog path_to_rlm/debug.log
> dans un script du genre :
> #!/bin/sh
> echo -n "Starting rlm:"
> path_to_rlm/rlm -c path_to_rlm/licence.lic -dlog path_to_rlm/debug.log&
> echo -n "DONE"
> 
> et ben ça ne marche pas non plus...même problème qu'avec le start_daemon.
> 
> Bon ben je n'ai plus qu'à comparer les env.
> 
> Bye
> Guillaume
> 

bien les seules différences obtenues avec la commande env dans une
console et dans le script ci-dessus lancé dans la même console sont les
suivantes :
[10:53:45] denayer@celsius02 ~/Documents/TMP $ diff env_rlm env_rlm3
34a35
> PS1=\[\e[0;33m\][\[\e[0m\]\t\[\e[0;33m\]]\[\e[0m\]
\[\e[0;31m\]\u\[\e[0;33m\]@\[\e[1;35m\]\h \[\e[0;32m\]\w \[\e[0;31m\]\$
\[\e[0m\]
38c39
< SHLVL=2
---
> SHLVL=1
62a64
> OLDPWD=/root

Donc en gros on voit pas grand chose... :) c'est quoi SHLVL ? shell
level ? et ça veut dire quoi ?

Bye


Reply to: