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)