2012-03-27 54 views

Trả lời

17

Greg's wiki để giải cứu:

  • $! là PID của tiến trình backgrounded ngoái.
  • kill -0 $PID kiểm tra xem $PID vẫn đang chạy. Chỉ sử dụng điều này cho các quá trình được bắt đầu bởi quá trình hiện tại hoặc con cháu của nó, nếu không thì PID có thể đã được tái chế.
  • wait đợi tất cả trẻ em thoát ra trước khi tiếp tục.

Thực ra, chỉ cần đọc liên kết - Tất cả đều có (và nhiều hơn nữa).

$$ is the PID of the current shell.

Và có, mỗi trình bao sẽ có PID riêng của nó (trừ khi đó là một số vỏ homebrewed mà không fork để tạo một vỏ "mới").

3

1) Có một biến cho rằng, thường $$:

[email protected]:~$ echo $$     # shell itself 
20559 
[email protected]:~$ bash -c 'echo $$'  # new shell with different PID 
19284 
[email protected]:~$ bash -c 'echo $$'  # dito 
19382 
[email protected]:~$ 

2) Có họ làm, OS/kernel nào đó cho bạn.

+0

Cách sử dụng biến '$$'? Nó có chứa PID của chương trình được chạy cuối cùng hay không? –

+0

Nhìn vào ví dụ tôi đã đưa ra. Đối với shell, nó là PID riêng của nó. –

+2

trong 'bash'' $! 'Là PID của quá trình nền cuối cùng. – dldnh

0

lệnh trên cùng trong linux (Ubuntu) hiển thị mức sử dụng bộ nhớ của tất cả các chương trình đang chạy trong linux với pid của chúng. Giết pid có thể giết chết quá trình.

Các vấn đề liên quan