Không thể kết thúc quá trình bằng cách giết -9


0

Tôi không thể kết thúc quá trình bằng tín hiệu SIGKILL.

$ ps aux | grep -i phps
username 17564   0.0  0.0        0      0   ??  ?E   Sun09AM   0:00.00 (phpstorm)
username 27664   0.0  0.0  2442020    788 s000  S+   11:53AM   0:00.00 grep -i phps
$ sudo kill -9 17564
$ ps aux | grep -i phps
username 17564   0.0  0.0        0      0   ??  ?E   Sun09AM   0:00.00 (phpstorm)
username 27883   0.0  0.0  2423392    312 s000  R+   11:55AM   0:00.00 grep -i phps

Điều đó có nghĩa là quá trình trong ngoặc đơn? Làm thế nào để giết nó?


@patrix - không chính xác là một bản sao - câu hỏi khác không hiển thị đầu ra ps bao gồm () - vì vậy có thể không giống nhau. Ở đây, giải pháp là tiêu diệt quá trình gọi là phpstorm
Đánh dấu

@Mark đúng, không nhận thấy điều đó. Cảm ơn.
nohillside

Câu trả lời:


4

Tôi giả sử rằng bạn đang cố giết pis 17564 bằng cách kill -9 17564

Tuy nhiên, nó đã chết, được hiển thị bằng tên ts ở () trong đầu ra ps. (Tôi đã học được điều này như là một quá trình zombie nhưng điều đó có vẻ không đúng nhưng giải pháp là như nhau) Nó sẽ biến mất khi quá trình bắt đầu nó đọc mã thoát của nó.

Các trang người đàn ông cho ps nói rằng nhà nước E có nghĩa là quá trình này đang cố gắng để thoát. Lệnh hiển thị thực sự là từ khóa ucomm (kế toán) vì hệ thống không thể tìm thấy các đối số thực tế.

Để loại bỏ quá trình, quy trình gọi nó phải đọc mã thoát của nó, tuy nhiên có thể đã xảy ra lỗi và nó sẽ không làm điều đó, vì vậy bạn phải giết tiến trình cha.

ps -ajxsẽ hiển thị trạng thái và cha mẹ - lưu ý rằng Apple / BSD đã thay đổi các tham số của ps trong Tiger và ps -auxkhông hoạt động khi ps auxthấy hack vì đó là những gì mọi người sử dụng. Vì vậy, bạn cần phải đọc trang người đàn ông.


cảm ơn đã giải thích sâu sắc. Điều này có ích. ps -ajxhiển thị id cha (PPID) ở hàng thứ ba. và ps -ajx -p PIDsẽ hiển thị trạng thái quá trình chính xác. Tnx lại.
Alexander Plaksin

Cập nhật . Tôi đã có thể tái tạo vấn đề một lần nữa. Đầu tiên . Bạn -anên tránh tranh luận nếu bạn chỉ định -p. Trở thành nó sẽ vẫn hiển thị tất cả các quy trình. thứ hai . `$ ps -p 542 -jx NGƯỜI DÙNG PID PPID PGID SESS JOBC STAT TT TIME LINE tên người dùng 542 1 542 0 1? E ?? 0: 00.00 (phpstorm) `Có vẻ như cha mẹ là /sbin/launchd. Và khởi động lại nó cũng giống như khởi động lại hệ thống.
Alexander Plaksin
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.