UNIXプログラミング質問すれ
■ このスレッドは過去ログ倉庫に格納されています
0404名無しさん@カラアゲうまうま
NGNG/* suicide.c */
#include <stdio.h>
#include <unistd.h>
#include <sys/param.h>
#define SELF_EXE "/proc/self/exe"
int main(int argc, char** argv)
{
char self[MAXPATHLEN];
int n = readlink(SELF_EXE, self, sizeof self);
if (n < 0) {
perror("readlink");
return 1;
}
self[n] = 0;
printf("%s = %s\n", argv[0], self);
if (unlink(argv[0])) {
perror(argv[0]);
}
else {
execv(SELF_EXE, argv);
}
return 0;
}
$ make suicide
cc suicide.c -o suicide
$ ./suicide
./suicide = /tmp/suicide
./suicide = /tmp/suicide (deleted)
./suicide: No such file or directory
■ このスレッドは過去ログ倉庫に格納されています