You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdelibs/tdecore/README.exec

42 lines
1.6 KiB

Starting other programs
In KDE 2 and KDE 3 there are several ways to start other programs from within
your application. Here is a short summary of your options with reasons why
you should or should not use them.
1. fork + exec
You never want to use this unless you have a very good reason why it is
impossible to use KProcess.
2. KProcess
You want to use this if you need to start a new process which needs to be a
child of your process, e.g. because you want to catch stdout/stderr or need
to send it data via stdin. You should never use this to start other KDE
applications unless your application is called kgdb :-) If you need to
send/receive text like data to/from the process, you are probably better
off with KProcIO
3. KProcIO
Like KProcess. Unlike KProcess, this class actually makes it easy to
send data to and receive data from the process.
4. startServiceByDesktopPath
Preferred way to launch desktop (KDE/Gnome/X) applications or KDE services.
The application/service must have a .desktop file. It will make use of
KDEinit for increased startup performance and lower memory usage. These
benefits only apply to applications available as KDEinit loadable module (KLM)
5. KRun
Generic way to open documents/applications/shell commands. Uses
startServiceBy.... where applicable. Offers the additional
benefit of startup-notification.
KRun can start any application, from the binary or the desktop file,
it will determine the mimetype of a file before running the
preferred handler for it, and it can also start shell commands.
This makes KRun the recommended way to run another program in KDE 2.