Cần được giải thích dễ hiểu về process ID (PID) và $0 trong Linux UNIX

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.

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
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?