2024-09-17 23:03:00 +02:00

100 lines
5.1 KiB
HTML

<!--
Copyright JS Foundation and other contributors, http://js.foundation
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<script type="text/html" data-help-name="exec">
<p>Vykoná systémový príkaz a vráti jeho výstup.</p>
<p>Uzel môže byť nakonfigurovaný tak, aby čakal na dokončenie príkazu alebo aby
posielal jeho výstup postupne, ako ho príkaz generuje.</p>
<p>Príkaz, ktorý sa vykonáva, môže byť nakonfigurovaný v uzle alebo poskytnutý prijatou
správou.</p>
<h3>Vstupy</h3>
<dl class="message-properties">
<dt class="optional">payload <span class="property-type">reťazec</span></dt>
<dd>ak je nakonfigurované na to, bude pridané k vykonanému príkazu.</dd>
<dt class="optional">kill <span class="property-type">reťazec</span></dt>
<dd>typ signálu na zastavenie na odoslanie existujúcemu procesu exec uzla.</dd>
<dt class="optional">pid <span class="property-type">číslo|reťazec</span></dt>
<dd>ID procesu existujúceho exec uzla na zabitie.</dd>
</dl>
<h3>Výstupy</h3>
<ol class="node-ports">
<li>Štandardný výstup
<dl class="message-properties">
<dt>payload <span class="property-type">reťazec</span></dt>
<dd>štandardný výstup príkazu.</dd>
</dl>
<dl class="message-properties">
<dt>rc <span class="property-type">objekt</span></dt>
<dd>iba režim exec, kópia objektu návratového kódu (tiež dostupná na porte 3)</dd>
</dl>
</li>
<li>Štandardná chyba
<dl class="message-properties">
<dt>payload <span class="property-type">reťazec</span></dt>
<dd>štandardná chyba príkazu.</dd>
</dl>
<dl class="message-properties">
<dt>rc <span class="property-type">objekt</span></dt>
<dd>iba režim exec, kópia objektu návratového kódu (tiež dostupná na porte 3)</dd>
</dl>
</li>
<li>Návratový kód
<dl class="message-properties">
<dt>payload <span class="property-type">objekt</span></dt>
<dd>objekt obsahujúci návratový kód a prípadne vlastnosti ako
reťazec správy alebo signálu.</dd>
</dl>
</li>
</ol>
<h3>Detaily</h3>
<p>Predvolene používa systémové volanie príkazu<code>exec</code>, ktoré zavolá príkaz, čaká na jeho dokončenie a potom
vráti výstup. Napríklad úspešný príkaz by mal mať návratový kód<code>{ code : 0 }</code>.</p>
<p>Môžete prípadne použiť<code>spawn</code>, ktorý vracia výstup stdout a stderr počas vykonávania príkazu,
zvyčajne po jednej línii. Na konci potom vráti objekt na 3. port. Napríklad úspešný príkaz by mal vrátiť<code>{ code : 0 }</code>.</p>
<p>Doplnkové informácie o chybách môžu byť odoslané na 3. port<code>msg.payload</code>, ako reťazec<code>message</code>,
reťazec<code>signal</code>.</p>
<p>Príkaz, ktorý sa vykonáva, je definovaný v uzle s možnosťou pridať<code>msg.payload</code>a ďalšiu sadu parametrov.</p>
<p>Príkazy alebo parametre s medzerami musia byť umiestnené do úvodzoviek -<code>"Toto je jeden parameter"</code></p>
<p>Návratová hodnota<code>payload</code>je zvyčajne<i>reťazec</i>, pokiaľ nie detegované znaky mimo UTF8, v tom prípade,
ide o<i>bafér</i>.</p>
<p>Status ikona a PID uzla budú viditeľné, pokiaľ je uzol aktívny. Zmeny tohto môžu byť čítané uzlom<code>Status</code>.</p>
<p>Možnosť<code>Skrývať konzolu</code>bude skrývať obvykle zobrazenú konzolu procesov na systémoch Windows.</p>
<h4>Zabíjanie procesov</h4>
<p>Zaslanie<code>msg.kill</code>bude zabíjať jeden aktívny proces.<code>msg.kill</code>musí byť reťazec obsahujúci
typ signálu na odoslanie, napríklad,<code>SIGINT</code>,<code>SIGQUIT</code>, alebo<code>SIGHUP</code>.
Predvolená hodnota je<code>SIGTERM</code>, ak je nastavená na prázdny reťazec.</p>
<p>Pokiaľ uzol viac ako jeden spustený proces, potom musí byť tiež nastavený<code>msg.pid</code>s hodnotou PID na zabitie.</p>
<p>Pokiaľ je poskytnutá hodnota v poli<code>Timeout</code>, potom ak proces nie je dokončený po uplynutí špecifikovaného počtu sekúnd, proces bude automaticky zabitý.</p>
Tip: Ak spúšťate Python aplikáciu, možno budete musieť použiť parameter<code>-u</code>, aby ste zastavili vyrovnávaciu pamäť výstupu.
</script>