- Dobře, pro začátek myslím, že máte na mysli
ps --pid
a neps ---pid
. -
Nemusíte
echo $$
a poté zadejte číslo dops --pid number
;stačí napsatps --pid $$
. Pokud nemluvíte o# echo $$ 42 # su joe % ps --pid 42
v tom případě děláte správnou věc.
-
Co jste čekali?
-pid pidlist
- Vyberte podle ID procesu. Totožné s -p a p .
-p pidlist- Vyberte podle PID. Tím se vyberou procesy, jejichž ID procesů se objeví v pidlistu . Totožné s p a --pid .
Takže, když uděláte
ps --pid PID_of_shell
, dostáváte řádekps
výstup pouze pro proces shell . Můžete najítps -l | grep PID_of_shell
užitečnější; zobrazí každý řádek, který obsahujePID_of_shell
kdekoli, včetně sloupce PPID. To znamená, že ukáže podřízené procesy shellu. Ale samozřejměgrep 42
najde věci jako7428
. - Váš odhad je správný. proměnné prostředí jsou předávány z rodiče na potomka. Jak je uvedeno výše, vaše
su
shell je potomkem vašeho přihlašovacího shellu (nebo jiného nadřazeného shellu). Pamatujte však, že proces může změnit své prostředí;sudo
je poněkud notoricky známý tím, že to dělá, asu
dělá to také (např. změní$USER
,$LOGNAME
a$HOME
pokud nezadáte--preserve-environment
a ještě více, pokud zadáte--login
). Proces také může předat svým potomkům jiné prostředí, než jaké používá; shell to udělá, když řeknete něco jakoPAGER=cat man man_page_topic
. Reference:1, 2. - Takže ne, pokud nastavíte (exportujete) proměnnou prostředí v jednom terminálu a poté spustíte jiný terminál prostřednictvím správce oken, proměnná prostředí neuvidí, protože to není potomek (nebo potomek) shellu, který to nastavil. Pokud ale spustíte nové okno terminálu z shellu (např. podle
xterm&
), pak toto okno terminálu zdědí prostředí shellu.
resolv.conf se při restartu dnsmasq neustále přepisuje, čímž se dnsmasq přerušuje
Instalace Windows Update 3033929