mirror of
https://github.com/node-red/node-red.git
synced 2023-10-10 13:36:53 +02:00
90 lines
5.4 KiB
HTML
Executable File
90 lines
5.4 KiB
HTML
Executable File
<!--
|
|
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>Ausführung eines Systembefehls und Rückgabe seiner Ausgabe.</p>
|
|
<p>Der Node kann so eingestellt werden, dass er entweder bis zum Befehlabschluss wartet (exec) oder
|
|
die Ausgabe sogleich sendet (spawn), wie der Befehl sie generiert.</p>
|
|
<p>Der auszuführende Befehl kann im Node eingestellt und/oder
|
|
über die empfangene Nachricht übergeben werden.</p>
|
|
<h3>Eingangsdaten</h3>
|
|
<dl class="message-properties">
|
|
<dt class="optional">payload<span class="property-type">string</span></dt>
|
|
<dd>Wird an auszuführenden Befehl angehängt, sofern im Node aktiviert</dd>
|
|
<dt class="optional">kill<span class="property-type">string</span></dt>
|
|
<dd>Typ des Kill-Signals, das an den zu beendenden <span style="background-color:Gainsboro">exec</span>-Node-Prozess gesendet wird</dd>
|
|
<dt class="optional">pid<span class="property-type">number | string</span></dt>
|
|
<dd>Prozess-ID des zu beendenden <span style="background-color:Gainsboro">exec</span>-Node-Prozesses</dd>
|
|
</dl>
|
|
<h3>Ausgangsdaten</h3>
|
|
<ol class="node-ports">
|
|
<li>Standardausgabe (stdout)
|
|
<dl class="message-properties">
|
|
<dt>payload<span class="property-type">string</span></dt>
|
|
<dd>Standardausgabe des Befehls</dd>
|
|
</dl>
|
|
<dl class="message-properties">
|
|
<dt>rc<span class="property-type">object</span></dt>
|
|
<dd>Rückgabe-Code-Objekts (auch an Port 3 verfügbar) - nur im exec-Modus verfügbar</dd>
|
|
</dl>
|
|
</li>
|
|
<li>Standardfehlerausgabe (stderr)
|
|
<dl class="message-properties">
|
|
<dt>payload<span class="property-type">string</span></dt>
|
|
<dd>Standardfehlerausgabe des Befehls</dd>
|
|
</dl>
|
|
<dl class="message-properties">
|
|
<dt>rc<span class="property-type">object</span></dt>
|
|
<dd>Rückgabe-Code-Objekts (auch an Port 3 verfügbar) - nur im exec-Modus verfügbar</dd>
|
|
</dl>
|
|
</li>
|
|
<li>Rückgabe-Code
|
|
<dl class="message-properties">
|
|
<dt>payload<span class="property-type">object</span></dt>
|
|
<dd>Objekt mit dem Rückgabe-Code und gegebenenfalls <code>message</code> oder <code>signal</code>-Eigenschaften</dd>
|
|
</dl>
|
|
</li>
|
|
</ol>
|
|
<h3>Details</h3>
|
|
<p>Standardmäßig wartet der zur Befehlsausführung genutzte Systemaufruf <code>exec</code>,
|
|
bis die Ausführung abgeschlossen ist, und gibt anschließend dessen Ausgaben zurück.
|
|
Ein erfolgreich ausgeführter Befehl sollte z.B. den Rückgabe-Code <code>{ code: 0 }</code> haben.</p>
|
|
<p>Optional kann stattdessen <code>spawn</code> verwendet werden, wodurch die Standardausgabe und Standardfehlerausgabe
|
|
bereits während der Befehlsausführung in der Regel Zeile für Zeile rückgegeben werden.
|
|
Nach Befehlsabschluss wird ein Objekt am 3. Port ausgegeben.
|
|
Ein erfolgreich ausgeführter Befehl sollte z.B. <code>{ code: 0 }</code> zurückgeben.</p>
|
|
<p>Fehler können zusätzliche Informationen über den dritten Port als <code>msg.payload</code> zurückgeben,
|
|
z.B. eine <code>message</code>- oder <code>signal</code>-Zeichenfolge.</p>
|
|
<p>Der auszuführende Befehl wird innerhalb des Nodes mit der Option zum Anhängen von
|
|
<code>msg.payload</code> und weiteren Parametern definiert.</p>
|
|
<p>Befehle oder Parameter mit Leerzeichen sollten in Anführungszeichen eingeschlossen werden,
|
|
z.B. <code>"Dies ist ein einzelner Parameter"</code></p>
|
|
<p>Die zurückgegebenen Daten (Payload) sind in der Regel eine <i>Zeichenfolge (string)</i>,
|
|
außer es werden nicht UTF-8-Zeichen wie bei einem <i>binären Puffer (buffer)</i> erkannt.</p>
|
|
<p>Bei einem aktiven Node werden Status und die PID angezeigt.
|
|
Änderungen können mittels <span style="background-color:Gainsboro">status</span>-Node gelesen werden.</p>
|
|
<h4>Prozesse beenden</h4>
|
|
<p>Durch Senden von <code>msg.kill</code> wird ein einzelner aktiver Prozess beendet.
|
|
<code>msg.kill</code> sollte als Zeichenfolge (string) den Signaltyp enthalten,
|
|
z.B. <code>SIGINT</code>, <code>SIGQUIT</code> oder <code>SIGHUP</code>.
|
|
Der Standardwert ist <code>SIGTERM</code>, wenn die Zeichenfolge leer ist.</p>
|
|
<p>Wenn der Node mehr als einen Befehl bzw. Prozess ausführt,
|
|
muss zusätzlich über <code>msg.pid</code> die PID des zu beendenden Prozesses übergeben werden.</p>
|
|
<p>Wenn ein <code>Zeitlimit</code> angegeben ist, wird der Prozess automatisch nach Ablauf der Zeit beendet.</p>
|
|
<p><b>Tipp</b>: Wenn Sie eine Python-App ausführen, müssen Sie möglicherweise den Parameter <code>-u</code> verwenden,
|
|
um die Ausgabepufferung zu stoppen.</p>
|
|
</script>
|