19. november 2003 - 11:14Der er
12 kommentarer og 1 løsning
System() i Linux
Hey
Jeg sidder og programmere et program i Linux som har brug for at udføre nogle kommandoer. Jeg har brugt system(), men jeg synes ikke om den. Man kan f.eks ike bruge system("ll");, det synes jeg er lidt belastende.
Hvad er der af andre alternativer, og hvorfor er det lige at system() ikke kan udføre diverse kommandoer ?
Jeg hørte engang noget med at system() kunne være farlig at bruge i nlgle situationer, men hvilke er det ?
Mit gæt er at det ikke er en ægte kommando men et alias (f.eks. for ls -l) og at det alias ikke bliver sat i den process system starter.
Det klassiske argument mod system er performance - den er tung.
System er vel kun farlig hvis du tillader ikke pålidelig kilde at påvirke hvilken kommando der udføres. Det vel næppe være smart at tillade et CGI script at udføre en system med input fra web bruger.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.