2012-03-19 3 views

Répondre

3

Avez-vous lu la page de manuel de execlp?

Vous voulez probablement

int main() { 
    execlp("ssh", "ssh", "[email protected]", NULL); 
    perror("execlp ssh"); 
    return 1; // failing exit code if execlp failed. 
} 

Le execlp pourrait échouer (par exemple si ssh est pas dans votre $PATH)

4

Vous ne pouvez pas le transmettre plusieurs commandes et faire avec elle. Vous ne pouvez pas non plus lui passer des commandes et des arguments dans la même chaîne. Le mieux que vous pouvez faire:

execlp("ssh", "ssh", "[email protected]", NULL); 
+0

Il y a un argv [0] manquant ici, devrait être "ssh" 'donné deux fois. –

+0

@BasileStarynkevitch Yup, je viens de le réparer, merci :-) – cnicutar

+0

J'ai +1 vous aussi :) – Yuvi

Questions connexes