📄 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>  |  <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 — 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 <libgnome/libgnome.h>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, <ahref="/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, <ahref="/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 ofprograms from withing GNOME applications. These routines are required to avoidpassing opened file descriptors to a child process (like the X11 sockets andCORBA sockets). They will also make sure to terminate properly.</p><p>The range of possibilities goes from the most simple use to the mostspecialized 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 anythingto 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> :</span></td><td> Directory in which child should be executesd, or <ahref="/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> :</span></td><td> Number of arguments</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</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 addanything 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> :</span></td><td> Directory in which child should be executed, or <ahref="/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> :</span></td><td> Number of arguments</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</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 thebackground. On error, returns <code class="literal">-1</code>; in this case, <span class="type">errno</span> should hold a usefulvalue. 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> :</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> :</span></td><td> Number of arguments</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</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 todecide 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> :</span></td><td> Directory in which child should be executed, or <ahref="/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> :</span></td><td> Number of arguments</td></tr><tr>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -