как убить python программу в linux используя имя программы - PullRequest
1 голос
/ 24 апреля 2020

когда я использую ps -ef |grep, я получаю текущие запущенные программы, если ниже показаны текущие программы. Как я могу остановить программу, используя имя программы

user   8587  8577 30 12:06 pts/9    00:03:07 python3 program1.py

user   8588  8579 30 12:06 pts/9    00:03:08 python3 program2.py

например. Если я хочу остановить program1.py, то как я могу остановить процесс, используя имя программы «program1.py». Если какие-либо предложения по уничтожению программы с помощью python будут хороши

Ответы [ 4 ]

1 голос
/ 24 апреля 2020

Попробуйте сделать это с именем процесса:

pkill -f "Process name"

Например. Если вы хотите завершить процесс "program1.py", введите:

pkill -f "program1.py"

Дайте мне знать, если это поможет!

1 голос
/ 24 апреля 2020

Используя psutil довольно просто

import psutil

proc = [p for p in psutil.process_iter() if 'program.py' in p.cmdline()]
proc[0].kill()

Чтобы узнать процесс из фильтра имен процессов через список процессов с помощью psutil, как в Межплатформенный способ получения PID по названию процесса в python

0 голосов
/ 24 апреля 2020

grep программа и объединение add pipe отправляют вывод в другой команде.
1. см. Программу ps -ef.
2.программа поиска grep program.
3. удалите искомый grep потому что появляется в процессе поиска grep -v grep.
4. отделить процесс для уничтожения с помощью awk awk '{ print $2 }' 5. применить cmd к предыдущему вводу xarks kill -9

ps -ef  | grep progam | grep -v grep | awk '{ print $2 }' | xargs kill -9

см. здесь для получения дополнительной информации :
о труба , awk , xargs

с python вы можете использовать os:

template = "ps -ef  | grep {program} | grep -v grep | awk '{{ print $2 }}' | xargs kill -9"
import os
os.system(template.format(program="work.py"))
0 голосов
/ 24 апреля 2020

Если у вас установлена ​​pkill утилита, вы можете просто использовать:

pkill program1.py

Если вы этого не сделаете, используйте более распространенные Linux команды:

kill $(ps -ef | grep program1.py | awk '{print $2}')

Если вы настаиваете на использовании Python для этого, см. Как завершить процесс с Python с помощью pid?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...