KGRKJGETMRETU895U-589TY5MIGM5JGB5SDFESFREWTGR54TY
Server : Apache/2.2.17 (Unix) mod_ssl/2.2.17 OpenSSL/0.9.8e-fips-rhel5 DAV/2 PHP/5.2.17
System : Linux localhost 2.6.18-419.el5 #1 SMP Fri Feb 24 22:47:42 UTC 2017 x86_64
User : nobody ( 99)
PHP Version : 5.2.17
Disable Function : NONE
Directory :  /usr/share/gtk-doc/html/libgnome/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/share/gtk-doc/html/libgnome/libgnome-gnome-exec.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>gnome-exec</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.69.1">
<link rel="start" href="index.html" title="GNOME Library Reference Manual">
<link rel="up" href="libgnome.html#id2740192" title="Initializing applications and starting programs">
<link rel="prev" href="libgnome-gnome-init.html" title="gnome-init">
<link rel="next" href="ch01s02.html" title="Configuration">
<meta name="generator" content="GTK-Doc V1.7 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="chapter" href="libgnome.html" title="GNOME Library (libgnome)">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="libgnome-gnome-init.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="libgnome.html#id2740192"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GNOME Library Reference Manual</th>
<td><a accesskey="n" href="ch01s02.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts"><nobr><a href="#id2794874" class="shortcut">Top</a>
                  &#160;|&#160;
                  <a href="#id2796323" class="shortcut">Description</a></nobr></td></tr>
</table>
<div class="refentry" lang="en">
<a name="libgnome-gnome-exec"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2>
<a name="id2794874"></a><span class="refentrytitle">gnome-exec</span>
</h2>
<p>gnome-exec &#8212; Execution of programs from within GNOME applications.</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<h2>Synopsis</h2>
<pre class="synopsis">

#include &lt;libgnome/libgnome.h&gt;


int         <a href="libgnome-gnome-exec.html#gnome-execute-async">gnome_execute_async</a>             (const char *dir,
                                             int argc);
int         <a href="libgnome-gnome-exec.html#gnome-execute-async-fds">gnome_execute_async_fds</a>         (const char *dir,
                                             int argc);
int         <a href="libgnome-gnome-exec.html#gnome-execute-async-with-env">gnome_execute_async_with_env</a>    (const char *dir,
                                             int argc);
int         <a href="libgnome-gnome-exec.html#gnome-execute-async-with-env-fds">gnome_execute_async_with_env_fds</a>
                                            (const char *dir,
                                             int argc);
int         <a href="libgnome-gnome-exec.html#gnome-execute-shell">gnome_execute_shell</a>             (const char *dir,
                                             const char *commandline);
int         <a href="libgnome-gnome-exec.html#gnome-execute-shell-fds">gnome_execute_shell_fds</a>         (const char *dir,
                                             const char *commandline,
                                             <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a> close_fds);
void        <a href="libgnome-gnome-exec.html#gnome-prepend-terminal-to-vector">gnome_prepend_terminal_to_vector</a>
                                            (int *argc,
                                             char ***argv);
int         <a href="libgnome-gnome-exec.html#gnome-execute-terminal-shell">gnome_execute_terminal_shell</a>    (const char *dir,
                                             const char *commandline);
int         <a href="libgnome-gnome-exec.html#gnome-execute-terminal-shell-fds">gnome_execute_terminal_shell_fds</a>
                                            (const char *dir,
                                             const char *commandline,
                                             <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a> close_fds);
</pre>
</div>
<div class="refsect1" lang="en">
<a name="id2796323"></a><h2>Description</h2>
<p>
The gnome-execute family of functions are provided to simplify execution of
programs from withing GNOME applications.  These routines are required to avoid
passing opened file descriptors to a child process (like the X11 sockets and
CORBA sockets). They will also make sure to terminate properly.
</p>
<p>
The range of possibilities goes from the most simple use to the most
specialized ones.
</p>
</div>
<div class="refsect1" lang="en">
<a name="id2796347"></a><h2>Details</h2>
<div class="refsect2" lang="en">
<a name="id2796358"></a><h3>
<a name="gnome-execute-async"></a>gnome_execute_async ()</h3>
<a class="indexterm" name="id2796371"></a><pre class="programlisting">int         gnome_execute_async             (const char *dir,
                                             int argc);</pre>
<p>
Like <a href="libgnome-gnome-exec.html#gnome-execute-async-with-env"><code class="function">gnome_execute_async_with_env()</code></a>, but doesn't add anything
to child's environment.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>dir</code></em>&#160;:</span></td>
<td> Directory in which child should be executesd, or <a
href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"
><code class="literal">NULL</code></a> for current
      directory
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>argc</code></em>&#160;:</span></td>
<td> Number of arguments
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> process id of child, or <code class="literal">-1</code> on error.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2796485"></a><h3>
<a name="gnome-execute-async-fds"></a>gnome_execute_async_fds ()</h3>
<a class="indexterm" name="id2796498"></a><pre class="programlisting">int         gnome_execute_async_fds         (const char *dir,
                                             int argc);</pre>
<p>
Like <a href="libgnome-gnome-exec.html#gnome-execute-async-with-env-fds"><code class="function">gnome_execute_async_with_env_fds()</code></a>, but doesn't add
anything to child's environment.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>dir</code></em>&#160;:</span></td>
<td> Directory in which child should be executed, or <a
href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"
><code class="literal">NULL</code></a> for current
      directory
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>argc</code></em>&#160;:</span></td>
<td> Number of arguments
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> process id of child, or <code class="literal">-1</code> on error.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2796613"></a><h3>
<a name="gnome-execute-async-with-env"></a>gnome_execute_async_with_env ()</h3>
<a class="indexterm" name="id2796626"></a><pre class="programlisting">int         gnome_execute_async_with_env    (const char *dir,
                                             int argc);</pre>
<p>
This function forks and executes some program in the
background.  On error, returns <code class="literal">-1</code>; in this case, <span class="type">errno</span> should hold a useful
value.  Searches the path to find the child.  Environment settings in <em class="parameter"><code>envv</code></em>
are added to the existing environment -- they do not completely replace it.
This function closes all fds besides 0, 1, and 2 for the child</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>dir</code></em>&#160;:</span></td>
<td> Directory in which child should be executed, or NULL for current
      directory
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>argc</code></em>&#160;:</span></td>
<td> Number of arguments
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> the process id, or <code class="literal">-1</code> on error.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2796749"></a><h3>
<a name="gnome-execute-async-with-env-fds"></a>gnome_execute_async_with_env_fds ()</h3>
<a class="indexterm" name="id2796762"></a><pre class="programlisting">int         gnome_execute_async_with_env_fds
                                            (const char *dir,
                                             int argc);</pre>
<p>
Like <a href="libgnome-gnome-exec.html#gnome-execute-async-with-env"><code class="function">gnome_execute_async_with_env()</code></a> but has a flag to
decide whether or not to close fd's</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>dir</code></em>&#160;:</span></td>
<td> Directory in which child should be executed, or <a
href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"
><code class="literal">NULL</code></a> for current
      directory
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>argc</code></em>&#160;:</span></td>
<td> Number of arguments
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> the process id, or <code class="literal">-1</code> on error.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2796878"></a><h3>
<a name="gnome-execute-shell"></a>gnome_execute_shell ()</h3>
<a class="indexterm" name="id2796891"></a><pre class="programlisting">int         gnome_execute_shell             (const char *dir,
                                             const char *commandline);</pre>
<p>
Like <a href="libgnome-gnome-exec.html#gnome-execute-async-with-env"><code class="function">gnome_execute_async_with_env()</code></a>, but uses the user's shell
to run the desired program.  Note that the pid of the shell is returned, not
the pid of the user's program.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>dir</code></em>&#160;:</span></td>
<td> Directory in which child should be executed, or <a
href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"
><code class="literal">NULL</code></a> for current
      directory
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>commandline</code></em>&#160;:</span></td>
<td> Shell command to execute
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> process id of shell, or <code class="literal">-1</code> on error.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2797007"></a><h3>
<a name="gnome-execute-shell-fds"></a>gnome_execute_shell_fds ()</h3>
<a class="indexterm" name="id2797020"></a><pre class="programlisting">int         gnome_execute_shell_fds         (const char *dir,
                                             const char *commandline,
                                             <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a> close_fds);</pre>
<p>
Like <a href="libgnome-gnome-exec.html#gnome-execute-async-with-env-fds"><code class="function">gnome_execute_async_with_env_fds()</code></a>, but uses the user's
shell to run the desired program.  Note that the pid of the shell is
returned, not the pid of the user's program.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>dir</code></em>&#160;:</span></td>
<td> Directory in which child should be executed, or <a
href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"
><code class="literal">NULL</code></a> for current
      directory
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>commandline</code></em>&#160;:</span></td>
<td> Shell command to execute
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>close_fds</code></em>&#160;:</span></td>
<td> Like close_fds in <a href="libgnome-gnome-exec.html#gnome-execute-async-with-env-fds"><code class="function">gnome_execute_async_with_env_fds()</code></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> process id of shell, or <code class="literal">-1</code> on error.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2797170"></a><h3>
<a name="gnome-prepend-terminal-to-vector"></a>gnome_prepend_terminal_to_vector ()</h3>
<a class="indexterm" name="id2797183"></a><pre class="programlisting">void        gnome_prepend_terminal_to_vector
                                            (int *argc,
                                             char ***argv);</pre>
<p>
Prepends a terminal (either the one configured as default in
the user's GNOME setup, or one of the common xterm emulators) to the passed
in vector, modifying it in the process.  The vector should be allocated with
<a
href="/usr/share/gtk-doc/html/glib/glib-Memory-Allocation.html#g-malloc"
><span class="type">g_malloc</span></a>, as this will <a
href="/usr/share/gtk-doc/html/glib/glib-Memory-Allocation.html#g-free"
><span class="type">g_free</span></a> the original vector.  Also all elements must
have been allocated separately.  That is the standard glib/GNOME way of
doing vectors however.  If the integer that <em class="parameter"><code>argc</code></em> points to is negative, the
size will first be computed.  Also note that passing in pointers to a vector
that is empty, will just create a new vector for you.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>argc</code></em>&#160;:</span></td>
<td> a pointer to the vector size
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>argv</code></em>&#160;:</span></td>
<td> a pointer to the vector
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2797288"></a><h3>
<a name="gnome-execute-terminal-shell"></a>gnome_execute_terminal_shell ()</h3>
<a class="indexterm" name="id2797301"></a><pre class="programlisting">int         gnome_execute_terminal_shell    (const char *dir,
                                             const char *commandline);</pre>
<p>
Like <a href="libgnome-gnome-exec.html#gnome-execute-async"><span class="type">gnome_execute_async</span></a>, except that it runs the
terminal as well.  Note that the pid of the terminal is
returned, not the pid of the user's program.
If commandline is <a
href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"
><code class="literal">NULL</code></a>, just the shell is run.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>dir</code></em>&#160;:</span></td>
<td> Directory in which child should be executed, or NULL for current
      directory
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>commandline</code></em>&#160;:</span></td>
<td> Shell command to execute
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> process id of terminal, or <code class="literal">-1</code> on error.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" lang="en">
<a name="id2797415"></a><h3>
<a name="gnome-execute-terminal-shell-fds"></a>gnome_execute_terminal_shell_fds ()</h3>
<a class="indexterm" name="id2797428"></a><pre class="programlisting">int         gnome_execute_terminal_shell_fds
                                            (const char *dir,
                                             const char *commandline,
                                             <a
href="/usr/share/gtk-doc/html/glib/glib-Basic-Types.html#gboolean"
>gboolean</a> close_fds);</pre>
<p>
Like <a href="libgnome-gnome-exec.html#gnome-execute-shell-fds"><code class="function">gnome_execute_shell_fds()</code></a>, except that it runs the
terminal as well.  Note that the pid of the terminal is
returned, not the pid of the user's program.
If commandline is <a
href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"
><code class="literal">NULL</code></a>, just the shell is run.</p>
<p>

</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td>
<span class="term"><em class="parameter"><code>dir</code></em>&#160;:</span></td>
<td> Directory in which child should be executed, or <a
href="/usr/share/gtk-doc/html/liboil/liboil-liboiljunk.html#NULL:CAPS"
><code class="literal">NULL</code></a> for current
      directory
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>commandline</code></em>&#160;:</span></td>
<td> Shell command to execute
</td>
</tr>
<tr>
<td>
<span class="term"><em class="parameter"><code>close_fds</code></em>&#160;:</span></td>
<td> Like close_fds in <a href="libgnome-gnome-exec.html#gnome-execute-async-with-env-fds"><code class="function">gnome_execute_async_with_env_fds()</code></a>
</td>
</tr>
<tr>
<td>
<span class="term"><span class="emphasis"><em>Returns</em></span>&#160;:</span></td>
<td> process id of terminal, or <code class="literal">-1</code> on error.
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
</body>
</html>

Anon7 - 2021