| 
     
      
      
      From: Pascal J. B. <pj...@in...> - 2012-06-08 15:03:01
      
     
   | 
Sam Steingold <sd...@gn...> writes:
>> * Pascal J. Bourguignon <cw...@va...> [2012-06-08 12:58:38 +0200]:
>>
>> Perhaps it would be a good idea to remove the call to fork() from the
>> clisp driver?
>
> there is no fork() there.
> unix uses execv(), windows uses CreateProcess().
Indeed.  The OP report is bogus.
Anton Vodonosov <avo...@ya...> writes:
> Hello.
>
> My program starts clisp as a child process to do some work.
> Sometimes this work may hang.
>
> In this case I would like to kill the child lisp process.
>
> clisp.exe starts another process, lisp.exe which, as I understand,
> preforms all the job.
>
> It's not trivial to even get process id of lisp.exe.
It is trivial to get the process id of a child process.  You just get it
as result of fork(2) (or CreateProcess()).  In bash(2), this child
process PID is returned by the special variable $!:
    clisp -norc -q -ansi \
        -x '(format t "~%clisp pid=~A~2%" (process-id))' & \
        echo "bash pid=$!"
> What are my options to reliable kill started CLISP?
Memorize the child PID, and use it to send a signal.
> Is it possible to start CLISP in a way that it consists only of one process?
It consists only of one process.
-- 
__Pascal Bourguignon__                     http://www.informatimago.com/
A bad day in () is better than a good day in {}.
 |