Systemaufruf mit Rückgabestream?



  • Hallo Forum!

    Ich möchte gerne ein Prozess (speziell: sftp) aus einem C-Programm heraus aufrufen. (SUSE 8.2 BS)
    Bisher habe ich die Funktion "system("")" verwendet.
    Benötige aber nun Interaktion, d.h. nachdem "sftp" nach einem Passwort fragt, muss ich es übergeben. Geht das? Bekomme ich irgendwie die I/O-Stream dazu?

    Grüße & Danke,
    Sebastian



  • Siehe pipes: man: pipe(2), man: popen(3)



  • kingruedi schrieb:

    Siehe pipes: man: pipe(2), man: popen(3)

    Danke. Also ich habe es mal mit popen probiert:

    =================================

    FILE* testfile;

    testfile = popen("sftp user@server","w");

    // sleep(5);

    fprintf(testfile,"password\n");

    fflush(testfile);

    pclose(testfile);

    ========================

    Ich sehe dann den Passwort-Prompt von "sftp" in der Std-Eingabe, aber es tut sich nichts..(wird nix übergeben)
    Auch kann ich ja dann pro Prozess-Aufruf nur input ODER output streamen - also keine Interaktion durchführen, oder?


Anmelden zum Antworten