#include <sys/ioctl.h> #include <termios.h> #include <unistd.h> #include <utmp.h> extern "C" { int login_tty(int fd) { setsid(); if (ioctl(fd, TIOCSCTTY) < 0) return -1; dup2(fd, STDIN_FILENO); dup2(fd, STDOUT_FILENO); dup2(fd, STDERR_FILENO); close(fd); return 0; } }