2010-10-23 30 views
3

J'essaye de créer un programme de gestion à distance simple où un utilisateur peut se connecter à mon petit appareil et "prendre le relais" le stdio actuel du système. Par exemple:C/Linux Programmation: Pseudo-Terminaux: comment rediriger de stdio actuel à pty et rediriger après utilisation

système démarre avec console = port série -> client se connecte, rediriger l'entrée/sortie à la prise

Je l'ai déjà accompli la redirection de réseau partie (en lisant à travers un grand nombre de pages de l'homme Man, je n'ai jamais apprécié ces pages man jusqu'à présent!: D) en utilisant les fonctionnalités pty de Linux.

openpty() -> grantpt() -> unlockpt() -> client se connecte, effectuer (login_tty)

Mon programme gère ensuite la surveillance du maître FD et la douille. Cependant, j'ai un gros problème: je ne sais pas comment rediriger la sortie. J'ai essayé les éléments suivants:

o hardcode ouverture du fichier port série

o utiliser le fichier port série ouvert dans login_tty()

mais il ne semble pas fonctionner (quelque chose des groupes de processus et d'être le leader du groupe de processus après avoir effectué le premier login_tty()). Des suggestions ou des idées?

Est-ce que login_tty() a une fonction "inverse" de quelque sorte?

+0

Découvrez un programme GNU GPL'd appelé 'screen' qui fait quelque chose de similaire à ce que vous voulez. Il pourrait être en mesure de vous aider puisque vous n'avez pas encore reçu de réponse. http://www.gnu.org/software/screen/ – greg

Répondre