Ich platziert select() in einer Schleife auf Eingaben in der Befehlszeile warten. Gibt es trotzdem programmatisch auf STDIN zu schreiben und dann auswählen() erfassen?Schreiben Sie programmgesteuert für STDIN für Select()
Ich habe write() versucht, fputs() zu STDIN, aber select() kann die Änderung in STDIN immer noch nicht sehen.
while(1){
....
rt = select(fdmax+1, &readfds, NULL, NULL, &time_out);
if (rt == 0) // if it timesout, write to STDIN for the next loop
{
char message[20] = "hihihihi\n";
write(STDIN, message, strlen(message));
printf("wrote\n");
continue;
}
}
Mögliches Duplikat von [Konstruieren Sie einen Befehl, indem Sie einen String in ein tty einfügen] (http://unix.stackexchange.com/questions/48103/construct-a-command-by-putting-a-string-into-a- -tty) – Scott