Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [C] specificare directory di lavoro con exec

    Salve a tutti. Spero che qualcuno possa aiutarmi...
    Devo creare una Shell remota in C sotto linux: avro' un client che si autentica (specificando username-password-directory di lavoro) e chiede di eseguire dei comandi ad server remoto, comunicando tramite socket. Il server restituirà al client l'output del comando...

    Praticamente nel server creo un processo figlio che si occupa di eseguire il comando richiesto, tramite una chiamata di tipo execvp().
    Il mio problema è che non so come far eseguire il comando richiesto dal client nella directory di lavoro richiesta dal client.
    Dovrei usare execvpe()? come dovrei fare per poter specificare la directory di lavoro?

    Grazie a tutti

  2. #2
    il programma fatto partire con la exec mantiene la directory radice e la directory di lavoro corrente.
    Quindi puoi scegliere la dir con chdir chiamata dal figlio prima di eseguire exec.

    te lo scrivo in pseudo codice

    fork()
    if(padre){
    continua loop
    }else{ //figlio
    chdir();
    exec()

    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.