hui zhang wrote:
> Zack Grafton wrote:
>> hui zhang wrote:
>>> Zack Grafton wrote:
>>>> hui zhang wrote:
>>>>> Hi Everybody,
>>>>>
>>>>> Now I am trying to launch an external application, for example,
>>>>> "top" ,in my web application, and killing it by PID after a while.
>>>>> But when I execute Runtime.getRuntime.exec("top") in my JSP page
>>>>> or Servlet, Tomcat is stuck in that page and do not display
>>>>> anything because it can not stop running until that "commnad" is
>>>>> terminated, which means it waiting for the response from
>>>>> Runtime.getRuntime.exec("top"). It seems that it will run forever.
>>>>> Is there any solution to solve this problem? I mean that JSP page
>>>>> can execute the following code no matter if it finish the process
>>>>> is done.
>>>>>
>>>>> BTW, I do not use System.exit() in my program. It may cause
>>>>> Security Manager problem.
>>>>> Thanks and best regards,
>>>>>
>>>>> Hui
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To start a new topic, e-mail: users@(protected)
>>>>> To unsubscribe, e-mail: users-unsubscribe@(protected)
>>>>> For additional commands, e-mail: users-help@(protected)
>>>>>
>>>>>
>>>> Hey,
>>>>
>>>> I'm new to the list and all, but you might want to try executing
>>>> "top" in batch mode. The command line option is -b on my gentoo
>>>> linux box. Also, be careful of executing commands from applets and
>>>> such. Another thing might be user permissions as well. You could
>>>> try executing the command and redirecting the output to a file and
>>>> parsing the file instead.
>>>>
>>>> Zack Grafton
>>>>
>>>> ---------------------------------------------------------------------
>>>> To start a new topic, e-mail: users@(protected)
>>>> To unsubscribe, e-mail: users-unsubscribe@(protected)
>>>> For additional commands, e-mail: users-help@(protected)
>>> Hi,
>>>
>>> "TOP" is only an example in this case. Actually I am running some
>>> program which can not stop running until terminating it by "Control
>>> + C". In this case, Tomcat can not run the following code if the
>>> external application does not stop. I need a solution to make my
>>> webapp running in this case. Thank you.
>>>
>>> Regards,
>>>
>>> Hui
>>>
>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To start a new topic, e-mail: users@(protected)
>>> To unsubscribe, e-mail: users-unsubscribe@(protected)
>>> For additional commands, e-mail: users-help@(protected)
>>>
>> Hui,
>>
>> You could check out the javadoc for the
java.lang.Process class. You
>> would need to do something like:
>>
>> Process process = Runtime.getRuntime().exec("command");
>>
>> process.getInputStream();
>> process.getOutputStream();
>>
>> Just remember to wrap the streams appropriately and you should be
>> able to read the stdin and stdout of the program. That should allow
>> you to send the <control>+C signal to the program.
>>
>>
>> Zack Grafton
>>
>>
>> ---------------------------------------------------------------------
>> To start a new topic, e-mail: users@(protected)
>> To unsubscribe, e-mail: users-unsubscribe@(protected)
>> For additional commands, e-mail: users-help@(protected)
> Hi,
>
> I can get the InputStream from process object. How can I send
> Control+C to the console next? I can not send another command to
> console until this command is terminated.
>
> BTW, what is the string format of "Control + C"?
>
> Thanks!
>
> Regards,
>
> Hui
>
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@(protected)
> To unsubscribe, e-mail: users-unsubscribe@(protected)
> For additional commands, e-mail: users-help@(protected)
>
>
Hui,
Not too sure, but I found a website that says its the decimal value of
the ascii character. Not too sure though. So for ctrl+c it might be
decimal value 4. Otherwise, I have no clue. Which program is it that
you're trying to run? There might be an alternative application if
everything else doesn't work.
Zack
---------------------------------------------------------------------
To start a new topic, e-mail: users@(protected)
To unsubscribe, e-mail: users-unsubscribe@(protected)
For additional commands, e-mail: users-help@(protected)