<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.ixheim.de/index.php?action=history&amp;feed=atom&amp;title=Signalbehandlung</id>
	<title>Signalbehandlung - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ixheim.de/index.php?action=history&amp;feed=atom&amp;title=Signalbehandlung"/>
	<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Signalbehandlung&amp;action=history"/>
	<updated>2026-05-14T20:30:21Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Xinux Wiki</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Signalbehandlung&amp;diff=65873&amp;oldid=prev</id>
		<title>Thomas.will: /* Signalbehandlung */</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Signalbehandlung&amp;diff=65873&amp;oldid=prev"/>
		<updated>2025-11-27T14:32:16Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Signalbehandlung&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 27. November 2025, 14:32 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Zeile 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= Signalbehandlung =&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= Signalbehandlung =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*Mit der Signalbehandlung kann ein Bash-Skript auf externe Ereignisse reagieren, wie z. B. das Beenden eines Prozesses oder das Drücken von Strg+C.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;*&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*Mit der Signalbehandlung kann ein Bash-Skript auf externe Ereignisse reagieren, wie z. B. das Beenden eines Prozesses oder das Drücken von Strg+C.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*Signale werden vom Kernel an Prozesse gesendet und können von der Shell abgefangen werden.&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;*&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*Signale werden vom Kernel an Prozesse gesendet und können von der Shell abgefangen werden.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Grundprinzip ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Grundprinzip ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key my_wiki:diff::1.12:old-65174:rev-65873 --&gt;
&lt;/table&gt;</summary>
		<author><name>Thomas.will</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Signalbehandlung&amp;diff=65174&amp;oldid=prev</id>
		<title>Thomas.will: Die Seite wurde neu angelegt: „= Signalbehandlung =  *Mit der Signalbehandlung kann ein Bash-Skript auf externe Ereignisse reagieren, wie z. B. das Beenden eines Prozesses oder das Drücke…“</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Signalbehandlung&amp;diff=65174&amp;oldid=prev"/>
		<updated>2025-10-17T17:01:27Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „= Signalbehandlung =  *Mit der Signalbehandlung kann ein Bash-Skript auf externe Ereignisse reagieren, wie z. B. das Beenden eines Prozesses oder das Drücke…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Signalbehandlung =&lt;br /&gt;
&lt;br /&gt;
*Mit der Signalbehandlung kann ein Bash-Skript auf externe Ereignisse reagieren, wie z. B. das Beenden eines Prozesses oder das Drücken von Strg+C.*&lt;br /&gt;
*Signale werden vom Kernel an Prozesse gesendet und können von der Shell abgefangen werden.*&lt;br /&gt;
&lt;br /&gt;
== Grundprinzip ==&lt;br /&gt;
* Jedes Signal hat eine eindeutige Nummer und einen Namen (z. B. SIGINT, SIGTERM).&lt;br /&gt;
* Mit dem Kommando '''trap''' kann ein Skript definieren, welche Aktion bei Eintreffen eines Signals ausgeführt werden soll.&lt;br /&gt;
* Damit lassen sich Skripte kontrolliert beenden, auf Interrupts reagieren oder Aufräumarbeiten durchführen.&lt;br /&gt;
&lt;br /&gt;
== Syntax ==&lt;br /&gt;
* trap 'Befehle' SIGNAL1 SIGNAL2 ...&lt;br /&gt;
&lt;br /&gt;
== Beispiel – Strg+C abfangen ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
trap 'echo &amp;quot;Abbruch durch Benutzer&amp;quot;; exit 1' SIGINT&lt;br /&gt;
&lt;br /&gt;
while true; do&lt;br /&gt;
    echo &amp;quot;Laufe endlos, Strg+C zum Abbrechen...&amp;quot;&lt;br /&gt;
    sleep 2&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Ausgabe (bei Strg+C):&lt;br /&gt;
  Laufe endlos, Strg+C zum Abbrechen...&lt;br /&gt;
  Abbruch durch Benutzer&lt;br /&gt;
&lt;br /&gt;
== Beispiel – mehrere Signale behandeln ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
cleanup() {&lt;br /&gt;
    echo &amp;quot;Aufräumen...&amp;quot;&lt;br /&gt;
    rm -f /tmp/tempfile&lt;br /&gt;
    exit 0&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
trap cleanup SIGINT SIGTERM&lt;br /&gt;
&lt;br /&gt;
touch /tmp/tempfile&lt;br /&gt;
echo &amp;quot;Tempfile erstellt: /tmp/tempfile&amp;quot;&lt;br /&gt;
&lt;br /&gt;
while true; do&lt;br /&gt;
    sleep 1&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 Ausgabe bei SIGINT oder SIGTERM:&lt;br /&gt;
  Tempfile erstellt: /tmp/tempfile&lt;br /&gt;
  Aufräumen...&lt;br /&gt;
&lt;br /&gt;
== Hinweise ==&lt;br /&gt;
* '''trap''' ermöglicht es, beliebige Befehle bei Eintreffen eines Signals auszuführen.&lt;br /&gt;
* Typische Signale:&lt;br /&gt;
** SIGINT – Interrupt (Strg+C)&lt;br /&gt;
** SIGTERM – Terminate&lt;br /&gt;
** SIGHUP – Hangup&lt;br /&gt;
** SIGKILL – Kill (nicht abfangbar)&lt;br /&gt;
* Unbehandelte Signale führen zur Standardaktion (oft Beenden des Prozesses).&lt;br /&gt;
&lt;br /&gt;
== Aufgaben ==&lt;br /&gt;
* Schreiben Sie ein Skript, das auf Strg+C reagiert und eine Nachricht ausgibt.&lt;br /&gt;
* Erstellen Sie ein Skript, das beim Beenden (SIGTERM) eine Aufräumfunktion ausführt.&lt;br /&gt;
* Testen Sie, welche Signale abgefangen werden können und welche nicht.&lt;/div&gt;</summary>
		<author><name>Thomas.will</name></author>
	</entry>
</feed>