Ho un processo figlio che gira in uno pseudo terminale. Il processo genitore non viene eseguito come root, ma il processo figlio esegue, tramite su o sudo. Per questo motivo non è possibile inviare un segnale al processo figlio per forzarlo ad uscire. Voglio forzarlo ad uscire con uno di questi mezzi:Come inviare il carattere di controllo Ctrl-C o il messaggio di blocco del terminale al processo figlio?
- emulare un Ctrl-C.
- emulazione di un hangup del terminale.
Come si esegue uno di questi? Ho già un maestro fd pty, e ho provato qualcosa di simile:
write(master, &termios.c_cc[VINTR], 1)
ma non fa nulla.
Non so se questo funzionerà con il programma/pty, ma cosa faccio dato che sto eseguendo bash, e bash accetta^C come SIGINT di default [Penso che?] Sia un char che contiene un codice esadecimale: (0x03 per^C) e quindi scriverlo sul mio pty con: write (m_nMaster, & ctrlC, sizeof (ctrlC)); –