2013-08-25 37 views
31

Tôi muốn tiêu diệt nội suy python - Mục đích là tất cả các tệp python đang chạy trong thời điểm này sẽ dừng (không có bất kỳ thông tin nào về tệp này). rõ ràng là các quy trình phải được đóng lại.Giết interpeter python trong linux từ terminal

Bất kỳ ý tưởng nào là xóa tệp trong python hoặc phá hủy interpeter là ok: D (Tôi đang làm việc với máy ảo). tôi cần nó từ nhà ga, vì tôi viết mã c và tôi sử dụng lệnh linux ... Hope để được giúp đỡ

Trả lời

45
pkill -9 python 

nên giết bất kỳ quá trình chạy python.

+1

nếu tên quá trình thay đổi (từ python tên khác) –

+7

sử dụng tên khác –

+0

Bạn cũng có thể chọn lọc hơn cho mỗi kịch bản Python với:? Https://stackoverflow.com/a/34239260/895245 –

26

Có một cách khá thô để làm điều này, nhưng hãy cẩn thận bởi vì đầu tiên, điều này phụ thuộc vào quá trình thông dịch viên python tự xưng là python, và thứ hai , nó có tác dụng đồng thời cũng giết chết bất kỳ quá trình khác được xác định bởi tên đó.

Nói tóm lại, bạn có thể tiêu diệt tất cả các thông dịch viên python bằng cách gõ này vào shell của bạn (chắc chắn rằng bạn đọc hãy cẩn thận ở trên!):

ps aux | grep python | grep -v "grep python" | awk '{print $2}' | xargs kill -9 

Để phá vỡ này xuống, đây là cách nó hoạt động. Bit đầu tiên, ps aux | grep python | grep -v "grep python", nhận danh sách tất cả các quá trình tự gọi mình là python, với grep -v đảm bảo rằng lệnh grep bạn vừa chạy cũng không được bao gồm trong đầu ra. Tiếp theo, chúng tôi sử dụng awk để có được cột thứ hai của đầu ra, trong đó có ID của quá trình. Cuối cùng, tất cả các quy trình này đều bị giết chết bằng cách cung cấp cho mỗi người trong số họ kill -9.

+2

Bạn có thể thay đổi phần ống thứ ba thành grep -v "grep" để bỏ qua bất kỳ greps nào trong đầu ra ps aux. Điều này làm cho lệnh chung chung hơn để người ta có thể thay đổi phần ống thứ hai mà không phải lo lắng về việc thay đổi thứ ba. ps aux | grep "python -u" | grep -v "grep" | awk '{print $ 2}' | xargs kill -9 – TechplexEngineer

3

pgrep -f youAppFile.py | xargs kill -9

pgrep trả về PID của tệp cụ thể và bạn chỉ xóa ứng dụng cụ thể.

2

pgrep -f | xargs kill -9 điều này sẽ giết dịch vụ xử lý của bạn. Trong trường hợp của tôi, nó là 'pgrep -f python | xargs kill -9'

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