Xin chào mọi người, mình mới bắt đầu học về Linux Unix. Trong quá trình học mình đụng phải 1 số khái niệm về process ID và $0 (không phải về $0 trong Awk nhé), nếu có thể rất mong các bạn rành về mảng này chỉ giáo thêm. Cám ơn các bạn đã đọc bài.
Cần được giải thích dễ hiểu về process ID (PID) và $0 trong Linux UNIX
1 Like
Mình đã thử cái $0
, nó lưu tên cái Linux shell mà bạn đang sử dụng, nhưng nếu bạn muốn nhìn thấy nó thì phải dùng echo
, ví dụ, mình đang dùng Z shell (zsh
), nên nếu mình dùng echo $0
thì sẽ print zsh
. Nhưng nếu chỉ $0
thì nó sẽ gọi command zsh
, nghĩa là nó sẽ gọi thêm 1 cái Z shell nữa, chồng lên cái shell chính mà mình đang sử dụng.
3 Likes
- process ID (PID) là id của chương trình đang chạy của hệ thống, khi có 1 chương trình nào đang chạy. sẽ có 1 pid tương ứng.
Dùng lệnh htop để xem all pid đang run.
4 Likes
Vd như bạn chạy lệnh/hoặc cái script sau trên linux command line (shell):
./myscript.sh p1 p2 p3
Như vậy, hệ thống sẽ hiểu với cú pháp trên thì:
$0 => myscript.sh (tên cái script)
$1 => p1 (giá trị tham số thứ nhất)
$2 => p2 (giá trị tham số thứ hai)
…
Đây là đoạn script dùng demo:
$ cat myscript.sh
echo "Ten script: $0"
echo "Tham so 1: $1"
echo "Tham so 2: $2"
echo "Tham so 3: $3"
Khi chạy nó sẽ ra như thế này:
$ ./myscript.sh p1 p2 p3
Ten script: ./myscript.sh
Tham so 1: p1
Tham so 2: p2
Tham so 3: p3
~$
3 Likes