İşlem, ortamı başlatan üst işlemden devralır. Bir alt öğedeki PATH veya diğer ortam değerlerini değiştirmek için, üst öğedeki bir değere bir değişken ayarlayabilir ve bir kabuktaysak değişkeni dışa aktarabilir ve alt işlemi başlatabiliriz. Çocuk ayrıca başladığında kendi ortamını değiştirmek için bir veya daha fazla başlatma dosyasını okuyabilir.
Bu nedenle, bir cevap almak için iki soru daha var:
PATH veya ortam değişikliğinden etkilenmesini istediğiniz sürece yol açan ebeveyn / çocuk miras ağacı nedir?
Hangi başlatma dosyaları bu ağaçtaki ilgili işlemler tarafından kullanılır / okunur / kaynaklanır?
İşte bir miras ağacı ile ne demek istediğimi göstermek için ps (1) çıktısının bir parçası:
# /bin/ps -o 'uid:5,pid:5,ppid:5,user:4,args' axf
UID PID PPID USER COMMAND
0 1 0 root /usr/lib/systemd/systemd
0 1481 1 root /usr/sbin/gdm-binary -nodaemon
0 1497 1481 root \_ /usr/libexec/gdm-simple-slave ...
0 1504 1497 root \_ /usr/bin/Xorg :0 ...
0 1855 1497 root \_ gdm-session-worker ...
\ _ Grafik dizilerini ve PIP / PPID numaralarını (İşlem Kimliği ve Ana PID) not edin. PID 1855, 1481 tarafından başlatılan ve atadan çıkış işlemi 0 tarafından başlatılan PID 1 tarafından başlatılan 1497 tarafından başlatıldı.
Etkilemek istediğiniz süreç için benzer bir miras izlemesi yapın, hangi başlatma dosyalarının alakalı olduğunu belirleyin ve bu ağacın herhangi bir yerinde, muhtemelen aşağıdakine benzer bir şeyle PATH'de değişiklik yapın:
PATH=${PATH}:/usr/local/bin
~/.pam_environment
varsayılan olarak pam_env modülünün okumamasıdır . Fedora 20'de, örneğin okunmuyor.