2016-04-03 9 views
2

- Real Gerät -Wie kann ich eine Bash auf einem bestimmten/dev/ttyX (oder/dev/pts/X) Gerät starten?

die mir ein UART-Kabel auf/dev/ttyACM0 Lassen Sie sagen (und es gibt einen anderen Computer mit dem anderen Ende des Kabels angeschlossen ist), wie kann ich eine Bash-Sitzung auf dem Start/dev/ttyACM0 Gerät? Also könnte mein anderer Computer Bash-Befehle ausführen?

- Pseudo-Terminal -

Ein weiteres Beispiel, sagen wir, ich cutecom oder minicom in Gerät/dev/ptmx geöffnet, wird es eine entsprechende/dev/pts/X-Gerät erstellen. Wie kann ich eine Bash-Sitzung starten, um auf dem erstellten/dev/pts/X zu laufen?

Wenn ich richtig verstehe, ist es egal, bash (oder getty), wenn es auf einem echten oder Pseudo-Terminal ausgeführt wird. Also ich denke, dass GUI-Terminals (wie xterm) lesen/dev/ptmx und starten Sie eine Bash auf dem entsprechenden/dev/pts/X, wenn dies wahr ist, dann sollte ich in der Lage sein, das gleiche zu tun, wie kann ich das erreichen? Oder ist mein Verständnis davon falsch?

Antwort

3

fork() ein Kindprozess. Öffnen Sie das serielle Gerät oder Pseudoty und dup2() es zu FDS 0, 1 und 2. execv() Ihre bevorzugte Shell.