Pkill -f doesn't work for process killing

前端 未结 3 487
爱一瞬间的悲伤
爱一瞬间的悲伤 2021-02-05 10:19

I have this process running:

342 pts/2    T    0:00 sh -c sudo screen /usr/bin/python /usr/bin/btdownloadcurses \"http://zoink.it/torrent/732A4A9B54B7E3A916C2835         


        
相关标签:
3条回答
  • 2021-02-05 10:43

    As you can see, the process are being run with screen command.

    sh -c sudo screen /usr/bin/python
    sudo screen /usr/bin/python
    screen /usr/bin/python
    

    Due to this you cannot kill the process with the command what you have used.

    To kill the process, first search the PID process ID of the process and then use kill command with the PID. Like

    $ kill -9 342
    

    Also looking from your process list, it is visible that you have started the same process many times with different permission. So I suggest you kill all except one that is needed.

    EDIT : This single command would suffice:

    $ ps ax | grep 'Momomoko.E01.140011.HDTV.H264.720p.mp4' | awk -F ' ' '{print $1}' | xargs sudo kill -9
    

    Here is what it does :

    1. ps ax : list the process 2. grep : grep for the requred process name 3. awk : to get only the PID's of the process from the grep ouput 4. xargs sudo kill -9 : xargs will pass one by one PID number to kill command
    0 讨论(0)
  • 2021-02-05 10:44

    Try to use kill command rather

    kill -9 <pid>
    

    It will work for sure, cause I have tried it myself and very handy all times.

    Use the following in a script file then run for loop with kill command,

    ps|grep torrent|cut -f1 -d' '
    

    like this for loop as shown below, as exact working copy from my system;

    for p in `ps|grep torrent|cut -f1 -d' '`; do
       kill -9 $p
    done
    

    I hope this will help you finally.

    As per latest edited question you want to run this with PHP, it can be implemented through exec command, please follow the question for solution.

    0 讨论(0)
  • 2021-02-05 10:50

    If you have that zombie process open in a terminal, you can Ctrl+z it, which on most shells lets the process run in the background and outputs something like:

    [1]  + 69880 suspended  someprocess
    

    You can then actually kill it with:

    kill -9 69880
    

    the same id that was shown when suspended.

    0 讨论(0)
提交回复
热议问题