Symbian
Symbian OS Library

FAQ-0544 Can I execute a system command using the exec() method of the Runtime class?

[Index][spacer] [Previous] [Next]



 

Classification: Java Category: General
Created: 11/28/2000 Modified: 07/16/2001
Number: FAQ-0544
Platform: Symbian OS v6.0, Symbian OS v6.1, Symbian OS v7.0

Question:
Can I execute a system command using the exec() method of the Runtime class using a Symbian v6.0 Runtime for Java?
e.g.
Runtime.getRuntime().exec("z:\\System\\Programs\\AppRun.exe c:\\System\\Apps\\MyApp\\MyApp.app");


Answer:
In an actual device running v6.0 Symbian software: Yes.
Using the emulator on v6.0 Symbian SDKs for Java: No.

This is because the emulator runs in a single process and imperfectly models the Java Runtime instance as a thread. However the exec()method attempts to create a new process, which it can't do in the case of the emulator.

However this is an improvement upon ER5 where, because of a defect in STDLIB , exec() failed on both the emulator and real hardware.