subprocess kill

luca72 lucaberto at libero.it
Sat Dec 5 05:13:41 EST 2009


On 5 Dic, 03:06, Carl Banks <pavlovevide... at gmail.com> wrote:
> On Dec 4, 3:44 pm, luca72 <lucabe... at libero.it> wrote:
>
>
>
> > On 5 Dic, 00:14, luca72 <lucabe... at libero.it> wrote:
>
> > > On 5 Dic, 00:03, luca72 <lucabe... at libero.it> wrote:
>
> > > > On 4 Dic, 23:23, Mike Driscoll <kyoso... at gmail.com> wrote:
>
> > > > > On Dec 4, 3:50 pm, luca72 <lucabe... at libero.it> wrote:
>
> > > > > > Hello i'm using subprocess in this way:
> > > > > > self.luca = subprocess.Popen(['/usr/bin/
> > > > > > dvbtune'+frase_sint],shell=True, stdout=self.f_s_l,stderr=self.f_s_e )
>
> > > > > > then i kill:
> > > > > > self.luca.Kill()
>
> > > > > > but the process is still active and the file self.f_s_l increase it
> > > > > > size because the process is not killed.
>
> > > > > > How i can kill the process?
> > > > > > Regards
>
> > > > > > Luca
>
> > > > > Seehttp://lmgtfy.com/?q=python+kill+subprocess+linux
>
> > > > > When I do that on my machine, the 2nd result has the answer:
>
> > > > >http://stackoverflow.com/questions/1064335/in-python-2-5-how-do-i-kil...
>
> > > > > -------------------
> > > > > Mike Driscoll
>
> > > > > Blog:  http://blog.pythonlibrary.org
>
> > > > Hello Mike i have also test but they never kill the process the file
> > > > (stdout=self.f_s_l) increase it's size, haveyou some idea.
> > > > also if i close the program the process is still active.
>
> > > > Regards
>
> > > > Luca
>
> > > i'm able only to kill via shell like kill -9 process pid, Why?
>
> > Now the only way to solve the problem is to call a c program that kill
> > the process via subprocess in other case i can't close it, i have also
> > try with
>
> > subprocess.Popen(['kill -9 dvbtune'] shell=True), but the process is
> > still active
>
> This is not working because the kill command does not accept the name
> of a program.  You have to give it a process id.
>
> As for your general question, we really can't answer it.  There a lot
> of reasons a process might not die when you try to kill it: it could
> be trapping and ignoring signals (which is rude but it happens), it
> could be stuck in a critical section, the program might be threaded
> and not handling signals well, the program might have forked itself
> and the original process id has disappeared, etc.  We can't read your
> mind or divine what's running on your computer, so we can't answer
> your question.  We can only suggest things that might be wrong.  It's
> up to you to investigate and/or dig deeper.
>
> Carl Banks

The firs thing that i have tested is with the process id get by
Popen.pid ,but it don't works.
Thanks



More information about the Python-list mailing list