<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head profile="http://internetalchemy.org/2003/02/profile"> <link rel="foaf" type="application/rdf+xml" title="FOAF" href="http://www.openlinksw.com/dataspace/uda/about.rdf" /> <link rel="schema.dc" href="http://purl.org/dc/elements/1.1/" /> <meta name="dc.title" content="21. Appendix" /> <meta name="dc.subject" content="21. Appendix" /> <meta name="dc.creator" content="OpenLink Software Documentation Team ; " /> <meta name="dc.copyright" content="OpenLink Software, 1999 - 2009" /> <link rel="top" href="index.html" title="OpenLink Virtuoso Universal Server: Documentation" /> <link rel="search" href="/doc/adv_search.vspx" title="Search OpenLink Virtuoso Universal Server: Documentation" /> <link rel="parent" href="appendixa.html" title="Chapter Contents" /> <link rel="prev" href="errors.html" title="Error Codes Reference" /> <link rel="next" href="apparelnotes.html" title="Release Notes" /> <link rel="shortcut icon" href="../images/misc/favicon.ico" type="image/x-icon" /> <link rel="stylesheet" type="text/css" href="doc.css" /> <link rel="stylesheet" type="text/css" href="/doc/translation.css" /> <title>21. Appendix</title> <meta http-equiv="Content-Type" content="text/xhtml; charset=UTF-8" /> <meta name="author" content="OpenLink Software Documentation Team ; " /> <meta name="copyright" content="OpenLink Software, 1999 - 2009" /> <meta name="keywords" content="" /> <meta name="GENERATOR" content="OpenLink XSLT Team" /> </head> <body> <div id="header"> <a name="signalsandexitcodes" /> <img src="../images/misc/logo.jpg" alt="" /> <h1>21. Appendix</h1> </div> <div id="navbartop"> <div> <a class="link" href="appendixa.html">Chapter Contents</a> | <a class="link" href="errors.html" title="Error Codes Reference">Prev</a> | <a class="link" href="apparelnotes.html" title="Release Notes">Next</a> </div> </div> <div id="currenttoc"> <form method="post" action="/doc/adv_search.vspx"> <div class="search">Keyword Search: <br /> <input type="text" name="q" /> <input type="submit" name="go" value="Go" /> </div> </form> <div> <a href="http://www.openlinksw.com/">www.openlinksw.com</a> </div> <div> <a href="http://docs.openlinksw.com/">docs.openlinksw.com</a> </div> <br /> <div> <a href="index.html">Book Home</a> </div> <br /> <div> <a href="contents.html">Contents</a> </div> <div> <a href="preface.html">Preface</a> </div> <br /> <div class="selected"> <a href="appendixa.html">Appendix</a> </div> <br /> <div> <a href="yacc.html">YACC SQL Grammar Reference</a> </div> <div> <a href="errors.html">Error Codes Reference</a> </div> <div class="selected"> <a href="signalsandexitcodes.html">Signals and Exit codes</a> <div> <a href="#signalsandexitcodesc" title="Exit codes">Exit codes</a> <a href="#signalsandexitcodess" title="Signals">Signals</a> </div> </div> <div> <a href="apparelnotes.html">Release Notes</a> </div> <div> <a href="support.html">Product Support</a> </div> <div> <a href="systemtables.html">Virtuoso System Tables</a> </div> <div> <a href="apndxregexp.html">Basic Syntax of Regular Expressions</a> </div> <div> <a href="apndxclientcompilance.html">Server & client versions compatibility</a> </div> <br /> </div> <div id="text"> <a name="signalsandexitcodes" /> <h2>21.3. Signals and Exit codes</h2> <p>This section presents the most important exit codes and signals for Virtuoso on Unix/Linux.</p> <a name="signalsandexitcodesc" /> <h3>21.3.1. Exit codes</h3> <table class="data"> <caption>Table: 21.3.1.1. Exit codes</caption> <tr> <th class="data">Exit Code</th> <th class="data">Category</th> <th class="data">Comment</th> </tr> <tr> <td class="data">-1</td> <td class="data">FATAL</td> <td class="data">Unrecoverable condition detected like disk or memory full</td> </tr> <tr> <td class="data">0</td> <td class="data">NORMAL</td> <td class="data">Normal exit with success</td> </tr> <tr> <td class="data">1</td> <td class="data">WARNING</td> <td class="data">Some kind of failure at startup/shutdown, typically shown with a reason for this error</td> </tr> <tr> <td class="data">>1</td> <td class="data">UNKNOWN</td> <td class="data">Not used under normal operations</td> </tr> <tr> <td class="data">>128</td> <td class="data">SIGNAL</td> <td class="data">Virtuoso was killed by a signal it could not process. (error code = signal + 128)</td> </tr> </table> <br /> <br /> <a name="signalsandexitcodess" /> <h3>21.3.2. Signals</h3> <table class="data"> <caption>Table: 21.3.2.1. Signals</caption> <tr> <th class="data">Signal</th> <th class="data">Name</th> <th class="data">Category</th> <th class="data">Comment</th> </tr> <tr> <td class="data">1</td> <td class="data">SIGHUP</td> <td class="data">NORMAL</td> <td class="data">Initiate quick shutdown when shell exits while running virtuoso in foreground mode</td> </tr> <tr> <td class="data">2</td> <td class="data">SIGINT</td> <td class="data">NORMAL</td> <td class="data">User pressed CTRL-C on Virtuoso running in foreground mode to initiate normal shutdown</td> </tr> <tr> <td class="data">3</td> <td class="data">SIGQUIT</td> <td class="data">NORMAL</td> <td class="data">User pressed CTRL-\ on Virtuoso running in foreground mode to initiate quick shutdown</td> </tr> <tr> <td class="data">4</td> <td class="data">SIGILL</td> <td class="data">FAULT</td> <td class="data">Illegal instruction resulting in a program crash</td> </tr> <tr> <td class="data">7</td> <td class="data">SIGBUS</td> <td class="data">FAULT</td> <td class="data">Misaligned mem read/write resulting in a program crash</td> </tr> <tr> <td class="data">8</td> <td class="data">SIGFPE</td> <td class="data">FAULT</td> <td class="data">Divide by 0 or other arithmetical error</td> </tr> <tr> <td class="data">9</td> <td class="data">SIGKILL</td> <td class="data">SPECIAL</td> <td class="data">Terminate Virtuoso without flushing dirty pages etc. This signal should NOT be used under normal operations.</td> </tr> <tr> <td class="data">11</td> <td class="data">SIGSEGV</td> <td class="data">FAULT</td> <td class="data">Buffer/stack overrun resulting in a program crash</td> </tr> <tr> <td class="data">13</td> <td class="data">SIGPIPE</td> <td class="data">IGNORED</td> <td class="data">Other side of a pipe was killed while this side tried to write data to it</td> </tr> <tr> <td class="data">15</td> <td class="data">SIGTERM</td> <td class="data">NORMAL</td> <td class="data">Initiate quick shutdown</td> </tr> </table> <br /> <p>Signals that are marked as <strong>NORMAL</strong> indicate that these signals can be sent by root or the owner of the virtuoso process to shutdown Virtuoso. The <strong>SIGINT</strong> and <strong>SIGQUIT</strong> signals also work when Virtuoso is running in background mode and can be used in shell scripts.</p> <p>Signals that are marked as <strong>FAULT</strong> indicate an abnormal condition which should be checked. If enabled (e.g. with ulimit -c unlimited), the operating system can write a core dump allowing post-mortem debugging if the Virtuoso executable was compiled with debugging symbols.</p> <p>Signals that are marked as <strong>IGNORED</strong> are handled inside Virtuoso.</p> <p>The <strong>SIGTERM</strong> signal is mostly used by rc.d type shell scripts on Unix/Linux which are called during shutdown, but can also be used inside shell scripts.</p> <p>The <strong>SIGKILL</strong> signal should only be used as a last resort when all other efforts to stop Virtuoso have failed.</p> <a name="signalsandexitcodessquicksh" /> <h4>21.3.2.2. Quick shutdown</h4> <p>In quick shutdown mode, Virtuoso will only flush dirty disk buffers, close transaction log and database files and exit to the operating system. Since Virtuoso does not perform a checkpoint, the next startup will take extra time as Virtuoso first needs to perform a rollback and a checkpoint before it can resume operation. The <strong>SIGTERM</strong> signal mostly used by rc.d type scripts on Unix/Linux which are called during shutdown as such instances it is better to quickly finish operations and delay the checkpoint until the next boot.</p> <br /> <a name="signalsandexitcodessquicknsh" /> <h4>21.3.2.3. Normal shutdown</h4> <p>In normal shutdown mode, Virtuoso will do first do a full checkpoint, then flush dirty disk buffers, close transaction log and database files before exiting to the operating system. Depending on the size of the transaction log this can take some time. The <strong>SIGINT</strong> signal can be used in stop scripts to cleanly shutdown the database by the dba or by root.</p> <p>Note that in all cases signals can only be sent by the kernel, the root user or the uid of the person who started Virtuoso. Anyone else that wants to shutdown the Virtuoso instance should use the isql program to connect to Virtuoso and run the 'shutdown' command.</p> <br /> <br /> <table border="0" width="90%" id="navbarbottom"> <tr> <td align="left" width="33%"> <a href="errors.html" title="Error Codes Reference">Previous</a> <br />Error Codes Reference</td> <td align="center" width="34%"> <a href="appendixa.html">Chapter Contents</a> </td> <td align="right" width="33%"> <a href="apparelnotes.html" title="Release Notes">Next</a> <br />Release Notes</td> </tr> </table> </div> <div id="footer"> <div>Copyright© 1999 - 2009 OpenLink Software All rights reserved.</div> <div id="validation"> <a href="http://validator.w3.org/check/referer"> <img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0!" height="31" width="88" /> </a> <a href="http://jigsaw.w3.org/css-validator/"> <img src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!" height="31" width="88" /> </a> </div> </div> </body> </html>