Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 05/05/2015, à 11:04

bbenn

père d'un shell

Salut,

comment un shell peut-il savoir si il a été lancé directement ou bien si il a été lancé par un autre shell?

par exemple je dois lancer toto.sh:

soit je lance ./toto.sh

soit je lance ./lanceur.sh qui lui mème lancera toto.sh

comment est-ce que toto.sh peut savoir par qui il a été lancé?

Hors ligne

#2 Le 05/05/2015, à 11:34

pingouinux

Re : père d'un shell

Bonjour,
Tu peux voir la variable SHLVL, qui augmente de 1 quand tu passes dans un sous-shell.
Voir Internal Variables

Hors ligne

#3 Le 05/05/2015, à 14:18

bbenn

Re : père d'un shell

pingouinux a écrit :

Bonjour,
Tu peux voir la variable SHLVL, qui augmente de 1 quand tu passes dans un sous-shell.
Voir Internal Variables

bien vu merci.
par contre en réalité dans ce cas précis je suis sur un UNIX et cette variable n'existe pas

Hors ligne

#4 Le 06/05/2015, à 09:05

credenhill

Re : père d'un shell

hello
et avec ?

pstree $$

Hors ligne

#5 Le 06/05/2015, à 10:12

bbenn

Re : père d'un shell

non je n'ai pas non plus cet outil
j'ai tenté de bricolé un truc avec PPID mais je ne trouve pas la bonne façon de faire

Hors ligne

#6 Le 06/05/2015, à 12:54

credenhill

Re : père d'un shell

quel système ?

edit: et avec

ps -ef | awk -v p=$$ 'NR<2; {t[$2]=$0} $2 ~ p {print t[$3] RS $0}'

Dernière modification par credenhill (Le 06/05/2015, à 13:54)

Hors ligne

#7 Le 07/05/2015, à 11:15

bbenn

Re : père d'un shell

ps -ef | awk -v p=$$ 'NR<2; {t[$2]=$0} $2 ~ p {print t[$3] RS $0}'
     UID     PID    PPID   C    STIME    TTY  TIME CMD

    toto 4559042 6041820   0 09:18:14 pts/13  0:00 -ksh

par contre je ne comprends pas la commande et je ne vois pas comment l'exploiter

Dernière modification par bbenn (Le 07/05/2015, à 11:16)

Hors ligne

#8 Le 07/05/2015, à 11:26

credenhill

Re : père d'un shell

quel système ?
chez moi, elle donne ça, j'ai donc gnome-terminal comme père

$ ps -ef | awk -v p=$$ 'NR<2; {t[$2]=$0} $2 ~ p {print t[$3] RS $0}'
UID        PID  PPID  C STIME TTY          TIME CMD
cred       1448     1  2 09:11 ?        00:00:05 gnome-terminal
cred       1529  1448  0 09:12 pts/4    00:00:01 bash

Hors ligne