A
-=Azrael=-
sers
also ich wollte ein programm schreiben
das einen anderes programm/skript aufruft
dazu wollte ich execl benutzen
danach wird aber das programm beendet
also wollte ich einen child prozess starten, dafür hab ichs clone verwendet da ich bei fork
keine argumente übergeben kann(oder doch??)
leider funktioniert das programm nicht weil es ein
_exit(0) benötigt und auch dann kommt noch die fehlermeldung
Segmentation fault
der sourcecode:
#include stdio.h
#include unistd.h
#include sched.h
#include string.h
int variable;
int do_something() {
//execl("/bin/ls","ls","-l",0);
variable = 42;
_exit(0);
}
int main(int argc, char *argv[]) {
void **child_stack;
char tempch;
variable = 9;
child_stack = (void **) malloc(16384);
printf("The variable was %d
", variable);
clone(do_something, &child_stack, CLONE_VM | CLONE_FILES, NULL);
sleep(1);
printf("The variable is now %d
", variable);
return 0;
}
ich verwende RedHat 7.3
könnte mir bitte jemand ein beistpielprogramm schreiben, bzw sagen wie ich es besser machen kann
ich währe auch für eine java version zu haben
mfg Azrael
also ich wollte ein programm schreiben
das einen anderes programm/skript aufruft
dazu wollte ich execl benutzen
danach wird aber das programm beendet
also wollte ich einen child prozess starten, dafür hab ichs clone verwendet da ich bei fork
keine argumente übergeben kann(oder doch??)
leider funktioniert das programm nicht weil es ein
_exit(0) benötigt und auch dann kommt noch die fehlermeldung
Segmentation fault
der sourcecode:
#include stdio.h
#include unistd.h
#include sched.h
#include string.h
int variable;
int do_something() {
//execl("/bin/ls","ls","-l",0);
variable = 42;
_exit(0);
}
int main(int argc, char *argv[]) {
void **child_stack;
char tempch;
variable = 9;
child_stack = (void **) malloc(16384);
printf("The variable was %d
", variable);
clone(do_something, &child_stack, CLONE_VM | CLONE_FILES, NULL);
sleep(1);
printf("The variable is now %d
", variable);
return 0;
}
ich verwende RedHat 7.3
könnte mir bitte jemand ein beistpielprogramm schreiben, bzw sagen wie ich es besser machen kann
ich währe auch für eine java version zu haben
mfg Azrael