Liệt kê biến môi trường của một tiến trình đang chạy trên Linux

Liệt kê biến môi trường của một tiến trình đang chạy trên Linux | Thông thường một tiến trình trên Linux đang chạy sẽ nhận được một số biến môi trường (environment variables) sử dụng cho các hoạt động cần thiết. Trong trường hợp bạn thường viết shell script, và nhận thấy có vấn đề khi sử dụng một chương trình lệnh trong bash shell. Thì có thể kiểm tra các biến môi trường của tiến trình lệnh bạn sẽ chạy là một ý không tồi.

biến môi trường tiến trình đang chạy linux

Có thể bạn quan tâm chủ đề khác
Top chứng chỉ Linux Quốc Tế mà Quản trị viên nên có
Tầm quan trọng của Tự Động Hoá trong Công Nghệ Thông Tin
NTP Server là gì  ?

Thao tác liệt kê biến môi trường của một tiến trình đang chạy trên Linux

– Đầu tiên bạn cần xác định process id (pid) của tiến trình bạn cần kiểm tra. Giả sử mình kiểm tra tiến trình “auditd“.

# ps aux | grep auditd
root 1063 0.0 0.0 29772 464 ? S<sl 2017 1:56 auditd

– Bây giờ bạn hãy kiểm tra file thông tin hệ thống chứa các biến môi trường của tiến trình đó tại cấu trúc file : /proc/$PID/environ

# cat /proc/1063/environ
LC_MONETARY=en_USTERM=linuxLC_NUMERIC=en_USLC_ALL=en_USPATH=/sbin:/usr/sbin:/bin:/usr/binLC_MESSAGES=en_USrunlevel=3RUNLEVEL=3LC_COLLATE=en_USLANGSH_SOURCED=1PWD=/LANG=en_USprevious=NPREVLEVEL=NCONSOLETYPE=vtSHLVL=3UPSTART_INSTANCE=UPSTART_EVENTS=runlevelUPSTART_JOB=rcLC_TIME=en_US_=/sbin/auditd

– Nếu bạn muốn dễ đọc hơn thì hãy dùng cú pháp sau để chuyển kí tự (\0) thành (\n).

# cat /proc/1063/environ | tr '\0' '\n'
LC_MONETARY=en_US
TERM=linux
LC_NUMERIC=en_US
LC_ALL=en_US
PATH=/sbin:/usr/sbin:/bin:/usr/bin
LC_MESSAGES=en_US
runlevel=3
RUNLEVEL=3
LC_COLLATE=en_US
LANGSH_SOURCED=1
PWD=/
LANG=en_US
previous=N
PREVLEVEL=N
CONSOLETYPE=vt
SHLVL=3
UPSTART_INSTANCE=
UPSTART_EVENTS=runlevel
UPSTART_JOB=rc
LC_TIME=en_US
_=/sbin/auditd

– Bạn cũng có thể sử dụng chương trình lệnh ‘ps‘ với một số option kèm theo để liệt kê ra được biến môi trường của tiến trình đang chạy trên Linux.

# ps e -ww -p 1063
PID TTY STAT TIME COMMAND
1063 ? S<sl 1:56 auditd LC_MONETARY=en_US TERM=linux LC_NUMERIC=en_US LC_ALL=en_US PATH=/sbin:/usr/sbin:/bin:/usr/bin LC_MESSAGES=en_US runlevel=3 RUNLEVEL=3 LC_COLLATE=en_US LANGSH_SOURCED=1 PWD=/ LANG=en_US previous=N PREVLEVEL=N CONSOLETYPE=vt SHLVL=3 UPSTART_INSTANCE= UPSTART_EVENTS=runlevel UPSTART_JOB=rc LC_TIME=en_US _=/sbin/auditd

Đơn giản vậy thôi, bạn đã biết mẹo để có thể liệt kê các biến môi trường của một tiến trình đang chạy rồi phải không nào. Chúc các bạn thành công.

Nguồn: https://cuongquach.com

Previous articleHướng dẫn kết nối cổng Console Router/Switch trên MacOS
Next article6 dấu hiệu cho thấy đã đến lúc “dân IT” nên nghỉ việc
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !