2009-06-30 40 views
7

Tôi biết nếu tôi tốt đẹp một kịch bản shell (tức là: trước khi nó chạy) tất cả các quá trình bắt đầu từ kịch bản shell cũng sẽ được niced.Có đổi tên trên cha mẹ không?

Điều gì sẽ xảy ra nếu tôi bắt đầu một kịch bản trình bao và thay đổi nó, làm tất cả các quy trình con cũng có được đổi tên không?

Nhìn vào các trang người đàn ông đổi mới và không có đề cập đến quá trình con.

Trả lời

6

Trẻ em thừa hưởng ưu tiên hiện tại của quá trình khi chúng được tạo. Điều đó có nghĩa, nếu bạn đổi tên cha mẹ và bắt đầu một đứa trẻ, nó sẽ có ưu tiên sửa đổi.

Trẻ em đang chạy khi bạn gia hạn không bị ảnh hưởng.

Các đầu mối là trong fork() trang người đàn ông (bắt đầu từ một đứa trẻ là một hoạt động fork/exec):

fork() tạo ra một quá trình con khác với quá trình cha mẹ chỉ trong PID và PPID của nó, và trong thực tế là việc sử dụng tài nguyên được đặt thành 0.

+0

Trường hợp vỏ sử dụng tùy chọn nhóm (-g) của quy trình cũng sẽ không thay đổi hiện đang chạy trẻ em vì mỗi lệnh mà chúng thực thi đi vào một quy trình khác nhóm. Nhưng hầu hết các chương trình sẽ không thay đổi nhóm quá trình của con cái của họ vì vậy nó là một cách để thay đổi các quy trình liên quan. –

+0

Vâng, tôi đã tìm ra "renice trên bố mẹ", người hỏi có nghĩa là PID cụ thể. Rõ ràng nếu bạn đổi tên nhóm quá trình hoặc người dùng, các quy trình khác có thể bị ảnh hưởng. – paxdiablo

+0

@paxdiablo: Tôi muốn quá trình con bắt đầu với mức độ ưu tiên mặc định 0 không ưu tiên quá trình cha mẹ? –

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