Man page - execve(2)
Packages contains this manual
- __malloc_initialize_hook(3)
- getpwuid(3)
- frexpl(3)
- fchown(2)
- setttyent(3)
- pthread_attr_setstacksize(3)
- calloc(3)
- clog(3)
- seteuid(2)
- res_nquerydomain(3)
- y0l(3)
- catanl(3)
- catanh(3)
- inet_addr(3)
- getcwd(2)
- epoll_create1(2)
- atol(3)
- pciconfig_write(2)
- htonl(3)
- timer_settime(2)
- munmap(2)
- cexpl(3)
- rt_sigsuspend(2)
- msgctl(2)
- tan(3)
- get_mempolicy(2)
- roundf(3)
- towctrans(3)
- xdr_opaque(3)
- psignal(3)
- error_at_line(3)
- xdrmem_create(3)
- select(2)
- getdate_r(3)
- getprotobyname_r(3)
- nrand48_r(3)
- inet_netof(3)
- inet_ntoa(3)
- nextafterl(3)
- innetgr(3)
- on_exit(3)
- expm1l(3)
- strfmon(3)
- strdup(3)
- getservbyport(3)
- arch_prctl(2)
- j0(3)
- wait4(2)
- personality(2)
- bpf(2)
- pvalloc(3)
- getresuid32(2)
- des_setparity(3)
- prctl(2)
- clog10(3)
- aio_init(3)
- pthread_getconcurrency(3)
- csinl(3)
- linkat(2)
- vsscanf(3)
- isascii(3)
- xdr_union(3)
- nan(3)
- utimensat(2)
- ioctl_vt(2)
- _newselect(2)
- ldexpl(3)
- fabsf(3)
- chown(2)
- mkstemps(3)
- pthread_attr_getstacksize(3)
- listxattr(2)
- getpgrp(2)
- xdr_short(3)
- tcflush(3)
- pthread_cond_wait(3)
- argz_add(3)
- wcpncpy(3)
- reallocarray(3)
- llrintf(3)
- outsl(2)
- qsort(3)
- authnone_create(3)
- tzname(3)
- setresuid32(2)
- isspace(3)
- open_by_handle_at(2)
- drem(3)
- conjf(3)
- nanosleep(2)
- pthread_kill(3)
- putc(3)
- pthread_condattr_destroy(3)
- getpwuid_r(3)
- strverscmp(3)
- res_init(3)
- cacosl(3)
- qecvt_r(3)
- iswgraph(3)
- gethostbyname(3)
- ntohl(3)
- acct(2)
- asinl(3)
- envz_merge(3)
- strdupa(3)
- idle(2)
- getopt_long_only(3)
- hstrerror(3)
- fanotify_init(2)
- fputs_unlocked(3)
- sleep(3)
- vfprintf(3)
- scalb(3)
- nanl(3)
- lchown32(2)
- getnetent_r(3)
- fcntl(2)
- inw(2)
- rintl(3)
- arc4random(3)
- getsockopt(2)
- ilogbl(3)
- clog2(3)
- encrypt(3)
- sqrtf(3)
- isspace_l(3)
- tanl(3)
- cfmakeraw(3)
- assert(3)
- strtoull(3)
- xdrstdio_create(3)
- optopt(3)
- setrlimit(2)
- lround(3)
- xdr_accepted_reply(3)
- fmin(3)
- mq_notify(3)
- svcerr_auth(3)
- sbrk(2)
- recv(2)
- mq_unlink(2)
- strxfrm(3)
- ctan(3)
- atoi(3)
- xcrypt(3)
- sgetspent(3)
- fread(3)
- isless(3)
- ceil(3)
- pthread_cond_broadcast(3)
- oldfstat(2)
- outl(2)
- times(2)
- wcslen(3)
- popen(3)
- wprintf(3)
- labs(3)
- getrpcbynumber(3)
- shmat(2)
- clock_gettime(2)
- btree(3)
- s390_sthyi(2)
- siggetmask(3)
- getgid32(2)
- puts(3)
- scalblnl(3)
- strpbrk(3)
- catanhl(3)
- vlimit(3)
- getrpcent(3)
- tgammal(3)
- strtoll(3)
- funlockfile(3)
- xdecrypt(3)
- pthread_key_delete(3)
- setgrent(3)
- wmemmove(3)
- gnu_dev_major(3)
- regexec(3)
- lrintl(3)
- __ppc_set_ppr_med(3)
- rmdir(2)
- io_getevents(2)
- request_key(2)
- ecvt(3)
- __ppc_mdoom(3)
- mktemp(3)
- key_gendes(3)
- le64toh(3)
- statvfs(3)
- rpc(3)
- getdate_err(3)
- munlockall(2)
- close(2)
- xdr_rejected_reply(3)
- dlerror(3)
- le32toh(3)
- feclearexcept(3)
- insque(3)
- clntraw_create(3)
- getutid(3)
- strtof(3)
- settimeofday(2)
- mkdir(2)
- rewind(3)
- logf(3)
- tmpnam(3)
- iswpunct(3)
- wcrtomb(3)
- epoll_pwait(2)
- getitimer(2)
- wordexp(3)
- clog2f(3)
- capset(2)
- strrchr(3)
- outsb(2)
- freeifaddrs(3)
- getwc_unlocked(3)
- ustat(2)
- bswap_16(3)
- program_invocation_short_name(3)
- ldiv(3)
- exp10f(3)
- vprintf(3)
- wcsncpy(3)
- iscntrl(3)
- readlink(2)
- semget(2)
- connect(2)
- psiginfo(3)
- epoll_ctl(2)
- removexattr(2)
- envz_strip(3)
- fgetxattr(2)
- atexit(3)
- putgrent(3)
- bswap(3)
- getegid32(2)
- qecvt(3)
- asinh(3)
- isfdtype(3)
- setenv(3)
- readdir(3)
- rtime(3)
- nearbyint(3)
- getgroups32(2)
- statx(2)
- modify_ldt(2)
- cpow(3)
- eventfd_read(3)
- sendfile64(2)
- getnetbyname(3)
- fremovexattr(2)
- uselib(2)
- inet(3)
- endutxent(3)
- clnt_spcreateerror(3)
- pututline(3)
- nexttowardl(3)
- getipnodebyaddr(3)
- fts_set(3)
- memmem(3)
- fmodl(3)
- setfsuid32(2)
- wordfree(3)
- fadvise64(2)
- getppid(2)
- qsort_r(3)
- toupper(3)
- getwc(3)
- fputws(3)
- mrand48(3)
- preadv(2)
- sincosf(3)
- fstatat64(2)
- dirfd(3)
- jnf(3)
- static_assert(3)
- wctype(3)
- vwarn(3)
- setfsent(3)
- listen(2)
- wcstok(3)
- argz_insert(3)
- select_tut(2)
- ctanl(3)
- getunwind(2)
- difftime(3)
- daylight(3)
- sigpause(3)
- wcscat(3)
- dlclose(3)
- __ppc_set_ppr_med_low(3)
- pread(2)
- fstatvfs(3)
- cbrtf(3)
- strnlen(3)
- sinhl(3)
- inl_p(2)
- setregid32(2)
- putwc(3)
- register_printf_type(3)
- nextafterf(3)
- opendir(3)
- strtod(3)
- tgamma(3)
- malloc_get_state(3)
- aio_write(3)
- timezone(3)
- xdr_pmaplist(3)
- sysfs(2)
- index(3)
- svcerr_noproc(3)
- envz(3)
- klogctl(3)
- pselect(2)
- get_current_dir_name(3)
- xdr_char(3)
- asinhf(3)
- preadv2(2)
- inotify_init1(2)
- pthread_attr_setstackaddr(3)
- getline(3)
- tanhf(3)
- rtnetlink(3)
- pkey_alloc(2)
- edata(3)
- stailq(3)
- isastream(2)
- setregid(2)
- copy_file_range(2)
- rcmd_af(3)
- futex(2)
- prof(2)
- siglongjmp(3)
- hdestroy(3)
- catan(3)
- pthread_cond_signal(3)
- mkfifoat(3)
- clntudp_create(3)
- getentropy(3)
- vsprintf(3)
- fabs(3)
- lseek64(3)
- pthread_setname_np(3)
- conjl(3)
- chroot(2)
- ccoshf(3)
- erand48_r(3)
- wcsnrtombs(3)
- rindex(3)
- fputc_unlocked(3)
- setresgid32(2)
- gettimeofday(2)
- cexp(3)
- inotify_add_watch(2)
- set_robust_list(2)
- nice(2)
- strtold(3)
- mq_getattr(3)
- xdr(3)
- getxattr(2)
- getrandom(2)
- splice(2)
- strerror(3)
- fcntl64(2)
- fnmatch(3)
- ungetwc(3)
- getspnam_r(3)
- clearenv(3)
- atan2(3)
- get_myaddress(3)
- open(2)
- pthread_setcancelstate(3)
- newlocale(3)
- open_memstream(3)
- setprotoent(3)
- logbf(3)
- ilogb(3)
- wmemcpy(3)
- tcsendbreak(3)
- be16toh(3)
- perfmonctl(2)
- strtoq(3)
- getgrgid_r(3)
- pthread_timedjoin_np(3)
- memfd_create(2)
- getttynam(3)
- mcheck_pedantic(3)
- _llseek(2)
- renameat2(2)
- ioperm(2)
- ecb_crypt(3)
- pthread_condattr_init(3)
- fminl(3)
- lio_listio(3)
- envz_add(3)
- setbuf(3)
- setkey(3)
- expm1(3)
- strtoul(3)
- getcwd(3)
- setutxent(3)
- getrpcent_r(3)
- unimplemented(2)
- fclose(3)
- epoll_create(2)
- getfsent(3)
- key_secretkey_is_set(3)
- vserver(2)
- vswprintf(3)
- sigsuspend(2)
- pututxline(3)
- clnt_freeres(3)
- cacheflush(2)
- ioprio_set(2)
- alarm(2)
- fgetc(3)
- __fpurge(3)
- getlogin_r(3)
- vfork(2)
- bstring(3)
- div(3)
- getrusage(2)
- gettid(2)
- dprintf(3)
- strtoumax(3)
- jrand48(3)
- iswcntrl(3)
- vwarnx(3)
- cacos(3)
- ccoshl(3)
- fesetexceptflag(3)
- res_nclose(3)
- shmop(2)
- mcheck_check_all(3)
- vscanf(3)
- tolower(3)
- landlock_add_rule(2)
- argz_next(3)
- lroundl(3)
- ruserok(3)
- glob(3)
- brk(2)
- rename(2)
- strcspn(3)
- sched_getscheduler(2)
- wcstoumax(3)
- dbopen(3)
- xdr_bytes(3)
- fegetenv(3)
- scalbf(3)
- pkey_free(2)
- fgetgrent(3)
- strchrnul(3)
- fork(2)
- log1pf(3)
- strtoimax(3)
- fputs(3)
- putspent(3)
- ttyname_r(3)
- iswlower(3)
- epoll_wait(2)
- minor(3)
- wcsspn(3)
- sendmmsg(2)
- pthread_attr_getsigmask_np(3)
- erand48(3)
- setpgrp(2)
- db(3)
- readv(2)
- cimagf(3)
- pthread_sigmask(3)
- getresuid(2)
- gamma(3)
- logwtmp(3)
- imaxabs(3)
- y1(3)
- swapoff(2)
- svcerr_weakauth(3)
- mbtowc(3)
- madvise(2)
- __fbufsize(3)
- swapon(2)
- towlower(3)
- asin(3)
- initgroups(3)
- svc_getreqset(3)
- pthread_attr_destroy(3)
- scalblnf(3)
- ispunct(3)
- casin(3)
- xdr_pmap(3)
- sigvec(3)
- dlmopen(3)
- localeconv(3)
- tcgetattr(3)
- mempcpy(3)
- clnt_perrno(3)
- clock_getcpuclockid(3)
- setaliasent(3)
- clock(3)
- ftok(3)
- svc_run(3)
- getsubopt(3)
- coshf(3)
- pow(3)
- getpwent(3)
- ntp_gettime(3)
- xdrrec_skiprecord(3)
- symlink(2)
- shmctl(2)
- mq_timedreceive(2)
- malloc(3)
- tgkill(2)
- l64a(3)
- unlockpt(3)
- mallopt(3)
- creal(3)
- syscalls(2)
- set_tid_address(2)
- exp2f(3)
- fstatfs(2)
- statfs(2)
- dreml(3)
- feenableexcept(3)
- ftw(3)
- fanotify_mark(2)
- clnt_sperror(3)
- realpath(3)
- sysconf(3)
- _syscall(2)
- set_mempolicy(2)
- mq_unlink(3)
- freehostent(3)
- rresvport_af(3)
- nl_langinfo_l(3)
- fmaxl(3)
- iscntrl_l(3)
- copysignf(3)
- llseek(2)
- bzero(3)
- ioctl_fsmap(2)
- remquof(3)
- malloc_trim(3)
- pthread_getattr_default_np(3)
- isalnum_l(3)
- mlock(2)
- nearbyintf(3)
- confstr(3)
- sinf(3)
- ioctl_eventpoll(2)
- sigstack(3)
- seed48_r(3)
- utmpname(3)
- malloc_stats(3)
- stpncpy(3)
- getservbyport_r(3)
- cabsl(3)
- isblank(3)
- sigprocmask(2)
- isinfl(3)
- isinff(3)
- pathconf(3)
- xdr_u_short(3)
- acos(3)
- timerfd_create(2)
- key_encryptsession(3)
- log2f(3)
- oldlstat(2)
- res_querydomain(3)
- memcmp(3)
- gethostbyaddr(3)
- sighold(3)
- gtty(2)
- xdr_void(3)
- getmsg(2)
- io_setup(2)
- ttyslot(3)
- recno(3)
- cuserid(3)
- nanf(3)
- pthread_getaffinity_np(3)
- if_indextoname(3)
- remainderf(3)
- putpwent(3)
- pow10f(3)
- pwritev(2)
- swapcontext(3)
- cfsetospeed(3)
- envz_remove(3)
- cosh(3)
- a64l(3)
- uselocale(3)
- yn(3)
- msgget(2)
- pthread_equal(3)
- prlimit(2)
- setspent(3)
- newfstatat(2)
- renameat(2)
- truncf(3)
- pthread_yield(3)
- tkill(2)
- islessequal(3)
- isnanf(3)
- sethostent(3)
- setvbuf(3)
- gnu_get_libc_release(3)
- atoll(3)
- getgrnam(3)
- get_robust_list(2)
- __ppc_yield(3)
- __memalign_hook(3)
- eventfd2(2)
- mq_setattr(3)
- tmpnam_r(3)
- pmap_getport(3)
- svcfd_create(3)
- getfsspec(3)
- setgid(2)
- getlogin(3)
- get_nprocs(3)
- canonicalize_file_name(3)
- pthread_mutexattr_getrobust(3)
- strerrorname_np(3)
- csinh(3)
- malloc_set_state(3)
- tcgetsid(3)
- ssignal(3)
- secure_getenv(3)
- significandl(3)
- wcschr(3)
- isgraph(3)
- pthread_mutexattr_gettype(3)
- creat(2)
- cabsf(3)
- __ppc_set_ppr_med_high(3)
- fchdir(2)
- backtrace_symbols(3)
- exp10l(3)
- euidaccess(3)
- sync_file_range(2)
- getutxline(3)
- isdigit(3)
- sinhf(3)
- lgetxattr(2)
- getaliasent(3)
- memrchr(3)
- io_submit(2)
- clnt_create(3)
- __setfpucw(3)
- _flushlbf(3)
- lcong48_r(3)
- clog10l(3)
- pmap_getmaps(3)
- memalign(3)
- xdr_authunix_parms(3)
- execl(3)
- getdate(3)
- cfsetispeed(3)
- tanhl(3)
- wmempcpy(3)
- outw_p(2)
- faccessat(2)
- rresvport(3)
- nextup(3)
- fgetgrent_r(3)
- getopt(3)
- xdr_vector(3)
- aio_error(3)
- frexpf(3)
- getpw(3)
- sscanf(3)
- mprotect(2)
- exp(3)
- sched_getaffinity(2)
- accept4(2)
- remainderl(3)
- pthread_key_create(3)
- endian(3)
- setmntent(3)
- get_phys_pages(3)
- argz(3)
- _exit(2)
- towupper_l(3)
- lrand48(3)
- csqrt(3)
- hdestroy_r(3)
- remquo(3)
- feof_unlocked(3)
- isprint(3)
- pivot_root(2)
- arc4random_uniform(3)
- strfroml(3)
- getdomainname(2)
- va_end(3)
- getresgid(2)
- cosf(3)
- endhostent(3)
- setgid32(2)
- ioctl_fs(2)
- getaddrinfo(3)
- fgetwc(3)
- lock(2)
- getservbyname_r(3)
- sys_nerr(3)
- insb(2)
- usleep(3)
- security(2)
- cfree(3)
- tanf(3)
- fprintf(3)
- pthread_mutexattr_setpshared(3)
- xprt_unregister(3)
- alphasort(3)
- getgrent(3)
- scandirat(3)
- iruserok(3)
- ttyname(3)
- tdestroy(3)
- strcasecmp(3)
- getpgid(2)
- drand48_r(3)
- mmap(2)
- sigtimedwait(2)
- pthread_once(3)
- mq_receive(3)
- pthread_mutexattr_setkind_np(3)
- iopl(2)
- s390_runtime_instr(2)
- lckpwdf(3)
- memmove(3)
- __fpending(3)
- mbsrtowcs(3)
- restart_syscall(2)
- memset(3)
- significandf(3)
- openat2(2)
- timeradd(3)
- conj(3)
- flockfile(3)
- madvise1(2)
- inet_aton(3)
- fstatfs64(2)
- fmax(3)
- fmemopen(3)
- fmaf(3)
- lseek(2)
- registerrpc(3)
- kexec_file_load(2)
- gammal(3)
- feof(3)
- pidfd_open(2)
- crealf(3)
- clogl(3)
- getutmp(3)
- umount(2)
- inet_pton(3)
- flistxattr(2)
- xdr_wrapstring(3)
- socketcall(2)
- setrpcent(3)
- rint(3)
- vm86(2)
- sincosl(3)
- getprotoent_r(3)
- mknod(2)
- getdents64(2)
- gai_cancel(3)
- srandom_r(3)
- getnetbyname_r(3)
- sigaddset(3)
- htole16(3)
- endnetent(3)
- nextafter(3)
- timerisset(3)
- getgrent_r(3)
- freeaddrinfo(3)
- endprotoent(3)
- mbind(2)
- sigorset(3)
- pthread_rwlockattr_setkind_np(3)
- cimag(3)
- waitid(2)
- abs(3)
- unlink(2)
- recvmsg(2)
- getaliasbyname(3)
- wctrans(3)
- kill(2)
- strtol(3)
- __ppc_set_ppr_very_low(3)
- membarrier(2)
- getnetbyaddr_r(3)
- writev(2)
- errx(3)
- tfind(3)
- clone3(2)
- __freading(3)
- outw(2)
- regfree(3)
- accept(2)
- timer_getoverrun(2)
- shmdt(2)
- svcerr_decode(3)
- getnameinfo(3)
- endusershell(3)
- execvpe(3)
- cbc_crypt(3)
- res_send(3)
- xdr_destroy(3)
- getcontext(3)
- pkey_mprotect(2)
- twalk_r(3)
- isalnum(3)
- timercmp(3)
- setxattr(2)
- pthread_cleanup_pop_restore_np(3)
- stat(2)
- isupper(3)
- vsyslog(3)
- strlen(3)
- pthread_attr_setinheritsched(3)
- xdr_inline(3)
- strtouq(3)
- raise(3)
- getpeername(2)
- capget(2)
- atanl(3)
- ferror_unlocked(3)
- isxdigit_l(3)
- modfl(3)
- pthread_mutexattr_init(3)
- pthread_mutexattr_getkind_np(3)
- phys(2)
- llabs(3)
- sched_rr_get_interval(2)
- asprintf(3)
- explicit_bzero(3)
- asctime(3)
- clone(2)
- munlock(2)
- __realloc_hook(3)
- atof(3)
- rt_tgsigqueueinfo(2)
- syslog(2)
- inet_makeaddr(3)
- epoll_pwait2(2)
- iswalpha(3)
- netlink(3)
- sched_setattr(2)
- sigdescr_np(3)
- access(2)
- getc_unlocked(3)
- dysize(3)
- inet_net_pton(3)
- sched_setparam(2)
- timerfd_settime(2)
- nexttowardf(3)
- expf(3)
- svcerr_progvers(3)
- getwchar(3)
- ftime(3)
- if_nametoindex(3)
- argz_add_sep(3)
- vasprintf(3)
- unlinkat(2)
- putenv(3)
- pthread_mutexattr_setrobust_np(3)
- error_message_count(3)
- setfsgid(2)
- cmsg(3)
- setpwent(3)
- cfgetospeed(3)
- end(3)
- pidfd_send_signal(2)
- scalbn(3)
- closelog(3)
- srandom(3)
- argz_replace(3)
- ioctl_tty(2)
- va_arg(3)
- towlower_l(3)
- isblank_l(3)
- remove(3)
- expl(3)
- fscanf(3)
- versionsort(3)
- pow10(3)
- hsearch(3)
- gethostid(3)
- fchownat(2)
- group_member(3)
- getchar_unlocked(3)
- getservbyname(3)
- pthread_mutexattr_destroy(3)
- setpgid(2)
- acosf(3)
- ctanhf(3)
- shm_open(3)
- towupper(3)
- getdents(2)
- chown32(2)
- hypotf(3)
- undocumented(3)
- drand48(3)
- csinf(3)
- ctime_r(3)
- setlinebuf(3)
- ulimit(3)
- spu_create(2)
- fcvt_r(3)
- ipc(2)
- ftruncate64(2)
- fdopen(3)
- svcerr_noprog(3)
- getrpcport(3)
- csin(3)
- sinh(3)
- nrand48(3)
- openpty(3)
- xdr_double(3)
- pthread_attr_getscope(3)
- vfscanf(3)
- catanhf(3)
- inb(2)
- wcpcpy(3)
- ldexp(3)
- getopt_long(3)
- strerrordesc_np(3)
- mbsinit(3)
- argz_stringify(3)
- setbuffer(3)
- byteorder(3)
- expm1f(3)
- pthread_attr_setscope(3)
- gnu_dev_makedev(3)
- pipe(2)
- updwtmp(3)
- fts_read(3)
- ioctl_fat(2)
- h_errno(3)
- sem_getvalue(3)
- iswupper(3)
- lrint(3)
- perror(3)
- xdr_u_int(3)
- timer_create(2)
- iswdigit(3)
- fgetspent(3)
- fwrite_unlocked(3)
- reboot(2)
- ftruncate(2)
- getutmpx(3)
- pwrite64(2)
- getauxval(3)
- xdr_pointer(3)
- getprotobynumber(3)
- svc_destroy(3)
- vmsplice(2)
- inet_network(3)
- readdir_r(3)
- setsockopt(2)
- rexec(3)
- flock(2)
- getw(3)
- mmap2(2)
- j1f(3)
- cprojf(3)
- mkstemp(3)
- symlinkat(2)
- tempnam(3)
- pthread_attr_getaffinity_np(3)
- gethostbyname_r(3)
- signalfd4(2)
- sys_siglist(3)
- erfc(3)
- truncate64(2)
- verr(3)
- pthread_kill_other_threads_np(3)
- eaccess(3)
- fsetpos(3)
- slist(3)
- pmap_unset(3)
- modf(3)
- ioctl_pipe(2)
- vfwprintf(3)
- getresgid32(2)
- statfs64(2)
- cexp2(3)
- stdio_ext(3)
- login_tty(3)
- xdr_long(3)
- dlsym(3)
- clog2l(3)
- malloc_usable_size(3)
- fegetexceptflag(3)
- basename(3)
- fwrite(3)
- vhangup(2)
- printf(3)
- setnetent(3)
- gethostbyname2(3)
- mallinfo2(3)
- signbit(3)
- clnt_broadcast(3)
- sched_yield(2)
- sem_open(3)
- sigsetjmp(3)
- cacoshl(3)
- sem_unlink(3)
- setresuid(2)
- signgam(3)
- putw(3)
- imaxdiv(3)
- regex(3)
- alloc_hugepages(2)
- modff(3)
- exp10(3)
- cprojl(3)
- utime(2)
- clogf(3)
- pthread_mutex_unlock(3)
- erff(3)
- ioctl_userfaultfd(2)
- iswprint(3)
- roundl(3)
- sqrtl(3)
- fpurge(3)
- getusershell(3)
- fcloseall(3)
- xdr_opaque_auth(3)
- gethostent_r(3)
- fgetwc_unlocked(3)
- fchmod(2)
- strptime(3)
- lutimes(3)
- htole64(3)
- putchar_unlocked(3)
- create_module(2)
- isascii_l(3)
- sigaction(2)
- stdout(3)
- geteuid32(2)
- xprt_register(3)
- freopen(3)
- ccosl(3)
- pthread_setschedprio(3)
- rt_sigaction(2)
- getmntent(3)
- putwchar_unlocked(3)
- logl(3)
- remque(3)
- unsetenv(3)
- sigwaitinfo(2)
- pthread_mutexattr_getrobust_np(3)
- initstate_r(3)
- getfsfile(3)
- exp2l(3)
- isatty(3)
- lgamma_r(3)
- lrintf(3)
- outb(2)
- __clone2(2)
- strcpy(3)
- clnt_call(3)
- hypot(3)
- fegetexcept(3)
- tcsetpgrp(3)
- gets(3)
- malloc_info(3)
- nextupf(3)
- pthread_attr_getdetachstate(3)
- getaliasent_r(3)
- fstat64(2)
- futimesat(2)
- dl_iterate_phdr(3)
- posix_madvise(3)
- endnetgrent(3)
- tolower_l(3)
- pthread_attr_setstack(3)
- pread64(2)
- sigsetops(3)
- stty(2)
- process_vm_readv(2)
- isfinite(3)
- gethostbyaddr_r(3)
- cproj(3)
- gai_strerror(3)
- key_decryptsession(3)
- inet_ntop(3)
- __ppc_mdoio(3)
- btowc(3)
- setstate_r(3)
- if_nameindex(3)
- fdetach(2)
- random_r(3)
- iruserok_af(3)
- truncl(3)
- clearerr(3)
- lgammaf(3)
- lfind(3)
- ctanf(3)
- strcat(3)
- pthread_attr_getschedpolicy(3)
- pthread_rwlockattr_getkind_np(3)
- sigrelse(3)
- daemon(3)
- pthread_setcanceltype(3)
- sigevent(7)
- iswalnum(3)
- pmap_set(3)
- stdin(3)
- ceilf(3)
- asctime_r(3)
- poll(2)
- svc_unregister(3)
- isnanl(3)
- carg(3)
- getprotobyname(3)
- arm_fadvise(2)
- optind(3)
- mount_setattr(2)
- dlvsym(3)
- ntp_adjtime(3)
- abort(3)
- pthread_getname_np(3)
- execlp(3)
- bind(2)
- bsearch(3)
- endspent(3)
- register_printf_specifier(3)
- landlock_create_ruleset(2)
- mkostemp(3)
- setgroups(2)
- toupper_l(3)
- argz_extract(3)
- sigblock(3)
- j0l(3)
- argz_delete(3)
- setusershell(3)
- getspnam(3)
- optarg(3)
- vm86old(2)
- sigandset(3)
- getdtablesize(3)
- getsockname(2)
- pthread_sigqueue(3)
- ptsname(3)
- j1(3)
- lgamma(3)
- getpagesize(2)
- pthread_mutex_lock(3)
- setsid(2)
- strncat(3)
- ioctl_kd(2)
- tsearch(3)
- mq_notify(2)
- fcvt(3)
- clntudp_bufcreate(3)
- getpwent_r(3)
- pthread_getspecific(3)
- memfrob(3)
- arc4random_buf(3)
- forkpty(3)
- powl(3)
- dlopen(3)
- stderr(3)
- set_thread_area(2)
- query_module(2)
- sem_close(3)
- strndup(3)
- __malloc_hook(3)
- setjmp(3)
- stdio(3)
- bdflush(2)
- sendto(2)
- mpx(2)
- fopen(3)
- setpriority(2)
- nextdownl(3)
- mprobe(3)
- oldstat(2)
- sem_destroy(3)
- bcopy(3)
- remap_file_pages(2)
- isgreaterequal(3)
- getpass(3)
- seekdir(3)
- break(2)
- authunix_create_default(3)
- tty_ioctl(4)
- process_madvise(2)
- endfsent(3)
- atoq(3)
- strftime(3)
- fts(3)
- getgrgid(3)
- isxdigit(3)
- ftello(3)
- regcomp(3)
- error(3)
- getenv(3)
- clnt_sperrno(3)
- readahead(2)
- y0(3)
- roundup(3)
- io_destroy(2)
- vsnprintf(3)
- lgammal(3)
- eventfd_write(3)
- pthread_mutex_trylock(3)
- lchown(2)
- dladdr(3)
- error_print_progname(3)
- pthread_mutexattr_settype(3)
- strspn(3)
- __after_morecore_hook(3)
- localtime(3)
- fsync(2)
- ether_aton(3)
- csinhl(3)
- trunc(3)
- xdr_u_char(3)
- syslog(3)
- y1f(3)
- ioctl_nsfs(2)
- wmemcmp(3)
- ffsll(3)
- ether_ntohost(3)
- bswap_32(3)
- umount2(2)
- sigfillset(3)
- landlock_restrict_self(2)
- pthread_join(3)
- sysinfo(2)
- clock_settime(2)
- llrint(3)
- s390_guarded_storage(2)
- getc(3)
- inet_lnaof(3)
- tcgetpgrp(3)
- clock_getres(2)
- etext(3)
- strfmon_l(3)
- putwc_unlocked(3)
- xdr_replymsg(3)
- scalbl(3)
- fdim(3)
- getspent(3)
- sem_timedwait(3)
- posix_fallocate(3)
- res_nmkquery(3)
- pthread_spin_unlock(3)
- mq_timedsend(2)
- opterr(3)
- getloadavg(3)
- strsignal(3)
- finite(3)
- inw_p(2)
- csinhf(3)
- execveat(2)
- seed48(3)
- sigset(3)
- setgroups32(2)
- logbl(3)
- wcsdup(3)
- clnt_geterr(3)
- sys_errlist(3)
- inotify_rm_watch(2)
- qgcvt(3)
- wcspbrk(3)
- sin(3)
- lookup_dcookie(2)
- s390_pci_mmio_read(2)
- wcscmp(3)
- getutxent(3)
- pciconfig_read(2)
- initstate(3)
- backtrace(3)
- putc_unlocked(3)
- fedisableexcept(3)
- rt_sigprocmask(2)
- clock_adjtime(2)
- fwprintf(3)
- jnl(3)
- grantpt(3)
- cimagl(3)
- getgrnam_r(3)
- remquol(3)
- swprintf(3)
- mbrtowc(3)
- fileno_unlocked(3)
- readlinkat(2)
- sigignore(3)
- strndupa(3)
- semctl(2)
- assert_perror(3)
- sendfile(2)
- shm_unlink(3)
- log(3)
- ungetc(3)
- erf(3)
- qfcvt(3)
- pthread_atfork(3)
- login(3)
- setservent(3)
- jrand48_r(3)
- wcsnlen(3)
- tcflow(3)
- pthread_cond_destroy(3)
- inl(2)
- srand48_r(3)
- erfcf(3)
- iconv(3)
- pthread_mutex_consistent_np(3)
- fabsl(3)
- pclose(3)
- nfsservctl(2)
- gai_error(3)
- wcsncmp(3)
- islower_l(3)
- iswctype(3)
- svc_register(3)
- arm_sync_file_range(2)
- strfry(3)
- strfromd(3)
- getttyent(3)
- rand(3)
- fchown32(2)
- ctime(3)
- fsetxattr(2)
- feupdateenv(3)
- random(3)
- getpwnam_r(3)
- sigwait(3)
- aio_fsync(3)
- mq_open(2)
- tanh(3)
- localtime_r(3)
- bsd_signal(3)
- strsep(3)
- mknodat(2)
- cexpf(3)
- cacosh(3)
- mbrlen(3)
- aio_cancel(3)
- mq_getsetattr(2)
- fdatasync(2)
- htons(3)
- sem_post(3)
- htobe16(3)
- vtimes(3)
- fgetpwent_r(3)
- getwchar_unlocked(3)
- mkdirat(2)
- dup(2)
- free_hugepages(2)
- feraiseexcept(3)
- lockf(3)
- userfaultfd(2)
- pthread_attr_setaffinity_np(3)
- memcpy(3)
- prlimit64(2)
- ferror(3)
- ldexpf(3)
- aio_return(3)
- adjtimex(2)
- execle(3)
- tailq(3)
- cabs(3)
- endaliasent(3)
- execvp(3)
- hasmntopt(3)
- if_freenameindex(3)
- signal(2)
- dn_comp(3)
- pthread_attr_getstack(3)
- ether_hostton(3)
- re_comp(3)
- cexp2l(3)
- getwd(3)
- llroundl(3)
- cos(3)
- pthread_mutex_consistent(3)
- isalpha_l(3)
- io_cancel(2)
- frexp(3)
- finitel(3)
- perf_event_open(2)
- pthread_exit(3)
- ioctl_console(2)
- timelocal(3)
- timersub(3)
- setresgid(2)
- semop(2)
- getgroups(2)
- envz_entry(3)
- xdr_u_long(3)
- seccomp(2)
- ftrylockfile(3)
- setuid(2)
- wcwidth(3)
- llround(3)
- cacoshf(3)
- pthread_attr_setschedpolicy(3)
- fgetpos(3)
- xdr_array(3)
- sprintf(3)
- wmemset(3)
- setcontext(3)
- copysignl(3)
- be64toh(3)
- matherr(3)
- hypotl(3)
- rawmemchr(3)
- fmodf(3)
- mount(2)
- mktime(3)
- stdarg(3)
- clnttcp_create(3)
- string(3)
- profil(3)
- clnt_perror(3)
- getpriority(2)
- regerror(3)
- clone2(2)
- getgid(2)
- pthread_spin_lock(3)
- iswblank(3)
- ftell(3)
- dup3(2)
- toascii(3)
- strncpy(3)
- mrand48_r(3)
- setstate(3)
- sigqueue(3)
- cpowf(3)
- setlogmask(3)
- sched_getcpu(3)
- htobe32(3)
- list(3)
- isdigit_l(3)
- chdir(2)
- fstat(2)
- pwritev2(2)
- get_thread_area(2)
- freelocale(3)
- acoshl(3)
- socketpair(2)
- scalbln(3)
- fpclassify(3)
- getpwnam(3)
- pthread_getcpuclockid(3)
- ioprio_get(2)
- strtok_r(3)
- exit_group(2)
- scalbnf(3)
- xdrrec_create(3)
- pthread_mutex_destroy(3)
- sqrt(3)
- dirname(3)
- exit(2)
- ulckpwdf(3)
- cargl(3)
- powerof2(3)
- simpleq(3)
- process_vm_writev(2)
- fdopendir(3)
- getpt(3)
- floorl(3)
- va_start(3)
- lcong48(3)
- strerror_l(3)
- xdrrec_eof(3)
- key_setsecret(3)
- lstat64(2)
- memfd_secret(2)
- sigreturn(2)
- casinhf(3)
- valloc(3)
- stat64(2)
- jn(3)
- sinl(3)
- pthread_testcancel(3)
- cfgetispeed(3)
- dup2(2)
- getnetent(3)
- pthread_setconcurrency(3)
- memccpy(3)
- rt_sigqueueinfo(2)
- ccosf(3)
- sincos(3)
- tcdrain(3)
- ccos(3)
- chmod(2)
- cacosf(3)
- lstat(2)
- pthread_spin_trylock(3)
- sigisemptyset(3)
- getrpcbyname(3)
- fpathconf(3)
- copysign(3)
- round(3)
- wmemchr(3)
- qfcvt_r(3)
- fattach(2)
- __fsetlocking(3)
- adjtime(3)
- makedev(3)
- des_crypt(3)
- iswspace(3)
- twalk(3)
- exec(3)
- link(2)
- fileno(3)
- endpwent(3)
- logb(3)
- wcscspn(3)
- console_ioctl(4)
- fgetpwent(3)
- setegid(2)
- clnt_destroy(3)
- getaddrinfo_a(3)
- svc_getargs(3)
- addmntent(3)
- globfree(3)
- islower(3)
- muntrace(3)
- clnt_pcreateerror(3)
- llrintl(3)
- clnt_control(3)
- fgetspent_r(3)
- strstr(3)
- putmsg(2)
- __fwritable(3)
- res_nsearch(3)
- fseeko(3)
- mq_timedreceive(3)
- log10(3)
- fexecve(3)
- gammaf(3)
- pthread_setschedparam(3)
- wcscpy(3)
- xdr_float(3)
- pthread_attr_setdetachstate(3)
- sem_wait(3)
- pow10l(3)
- re_exec(3)
- rand_r(3)
- putpmsg(2)
- getdelim(3)
- utimes(2)
- mq_close(3)
- setutent(3)
- creall(3)
- mq_send(3)
- telldir(3)
- powf(3)
- erfl(3)
- pthread_self(3)
- pselect6(2)
- unlocked_stdio(3)
- insw(2)
- cfsetspeed(3)
- argz_create(3)
- xdr_string(3)
- pthread_attr_getguardsize(3)
- finitef(3)
- setlocale(3)
- bcmp(3)
- fmtmsg(3)
- sendmsg(2)
- pthread_cleanup_push(3)
- inb_p(2)
- mmap64(3)
- getuid32(2)
- truncate(2)
- mlock2(2)
- fegetround(3)
- ugetrlimit(2)
- getprotobynumber_r(3)
- utmpxname(3)
- isinf(3)
- clearerr_unlocked(3)
- stime(2)
- nftw(3)
- duplocale(3)
- svcraw_create(3)
- svc_getcaller(3)
- ctanhl(3)
- cbrt(3)
- floorf(3)
- sethostid(3)
- sigemptyset(3)
- sigaltstack(2)
- mkfifo(3)
- lsearch(3)
- getservent_r(3)
- islessgreater(3)
- floor(3)
- argz_append(3)
- tzset(3)
- res_mkquery(3)
- fstatat(2)
- strchr(3)
- semtimedop(2)
- bindresvport(3)
- tcsetattr(3)
- warn(3)
- getservent(3)
- atanhl(3)
- tdelete(3)
- ynf(3)
- ether_ntoa_r(3)
- fesetenv(3)
- mq_timedsend(3)
- quotactl(2)
- init_module(2)
- rcmd(3)
- fenv(3)
- getutxid(3)
- pthread_mutexattr_getpshared(3)
- scalbnl(3)
- atan2l(3)
- argz_count(3)
- rpmatch(3)
- timerfd_gettime(2)
- ualarm(3)
- pthread_attr_init(3)
- vdprintf(3)
- pthread_cancel(3)
- fflush(3)
- setkey_r(3)
- mbstowcs(3)
- mremap(2)
- strcasestr(3)
- hcreate_r(3)
- siginterrupt(3)
- offsetof(3)
- atan(3)
- wctomb(3)
- getutent(3)
- significand(3)
- arm_fadvise64_64(2)
- dremf(3)
- wcswidth(3)
- syscall(2)
- rintf(3)
- bswap_64(3)
- pthread_attr_getschedparam(3)
- lroundf(3)
- timegm(3)
- posix_fadvise(2)
- getrlimit(2)
- svc_freeargs(3)
- xdr_enum(3)
- hcreate(3)
- ptrace(2)
- backtrace_symbols_fd(3)
- fetestexcept(3)
- ccosh(3)
- htole32(3)
- kexec_load(2)
- fallocate(2)
- timer_gettime(2)
- tgammaf(3)
- errno(3)
- sched_get_priority_max(2)
- xdr_getpos(3)
- vwprintf(3)
- ssetmask(2)
- ether_ntoa(3)
- waitpid(2)
- sched_getattr(2)
- inotify_init(2)
- fma(3)
- gnu_get_libc_version(3)
- svctcp_create(3)
- wcstombs(3)
- gethostname(2)
- strerror_r(3)
- sigismember(3)
- fgetws_unlocked(3)
- hash(3)
- circleq(3)
- getrpcbynumber_r(3)
- pthread_cond_timedwait(3)
- uname(2)
- fgetc_unlocked(3)
- mq_open(3)
- cosl(3)
- rewinddir(3)
- nextdown(3)
- longjmp(3)
- execv(3)
- iconv_open(3)
- xencrypt(3)
- ctermid(3)
- isgraph_l(3)
- move_pages(2)
- isunordered(3)
- msgsnd(2)
- rt_sigtimedwait(2)
- syncfs(2)
- mlockall(2)
- pthread_getschedparam(3)
- lsetxattr(2)
- getutid_r(3)
- log1pl(3)
- catanf(3)
- passwd2des(3)
- iconv_close(3)
- aligned_alloc(3)
- sched_setscheduler(2)
- gmtime(3)
- __free_hook(3)
- acoshf(3)
- mtrace(3)
- resolver(3)
- clog10f(3)
- sethostname(2)
- pthread_attr_setguardsize(3)
- tuxcall(2)
- atanh(3)
- ispunct_l(3)
- svcudp_bufcreate(3)
- ctanh(3)
- j1l(3)
- log10l(3)
- alloca(3)
- sigpending(2)
- nexttoward(3)
- isnormal(3)
- svc_getreq(3)
- putchar(3)
- getnetbyaddr(3)
- cpowl(3)
- get_kernel_syms(2)
- getutline_r(3)
- pthread_setaffinity_np(3)
- isnan(3)
- getprotoent(3)
- catclose(3)
- getsid(2)
- endrpcent(3)
- fts_close(3)
- gnu_dev_minor(3)
- ruserok_af(3)
- getutent_r(3)
- getegid(2)
- sgetmask(2)
- posix_memalign(3)
- atanf(3)
- unshare(2)
- lremovexattr(2)
- strncasecmp(3)
- endutent(3)
- updwtmpx(3)
- outsw(2)
- sched_getparam(2)
- setuid32(2)
- catgets(3)
- nextupl(3)
- openat(2)
- logout(3)
- free(3)
- setfsuid(2)
- getutline(3)
- svc_sendreply(3)
- fadvise64_64(2)
- cargf(3)
- __ppc_set_ppr_low(3)
- casinh(3)
- outb_p(2)
- fputwc(3)
- log10f(3)
- getnetgrent(3)
- fputws_unlocked(3)
- ffsl(3)
- endttyent(3)
- isgreater(3)
- sigmask(3)
- sgetspent_r(3)
- fmaxf(3)
- openlog(3)
- strncmp(3)
- closedir(3)
- rexec_af(3)
- exp2(3)
- mcheck(3)
- isalpha(3)
- pthread_mutex_init(3)
- catopen(3)
- clock_nanosleep(2)
- ioctl(2)
- remainder(3)
- olduname(2)
- getcpu(2)
- setns(2)
- asinhl(3)
- wcscasecmp(3)
- nearbyintl(3)
- atan2f(3)
- wctob(3)
- nextdownf(3)
- gmtime_r(3)
- fmal(3)
- setfsgid32(2)
- dlinfo(3)
- posix_spawnp(3)
- fgets_unlocked(3)
- major(3)
- fseek(3)
- xdr_callhdr(3)
- execve(2)
- exit(3)
- makecontext(3)
- sysctl(2)
- oldolduname(2)
- getgrouplist(3)
- pthread_getattr_np(3)
- ffs(3)
- sem_init(3)
- gcvt(3)
- fts_children(3)
- rt_sigreturn(2)
- mallinfo(3)
- insl(2)
- geteuid(2)
- signalfd(2)
- erfcl(3)
- sched_get_priority_min(2)
- sched_setaffinity(2)
- wcsrchr(3)
- xdr_reference(3)
- snprintf(3)
- delete_module(2)
- j0f(3)
- malloc_hook(3)
- casinf(3)
- y0f(3)
- endgrent(3)
- y1l(3)
- pthread_create(3)
- wcsncasecmp(3)
- pidfd_getfd(2)
- htobe64(3)
- _sysctl(2)
- lrand48_r(3)
- warnx(3)
- lgammaf_r(3)
- verrx(3)
- finit_module(2)
- gsignal(3)
- recvfrom(2)
- log2(3)
- fflush_unlocked(3)
- getaliasbyname_r(3)
- pthread_mutexattr_setrobust(3)
- getdirentries(3)
- getrpcbyname_r(3)
- ppoll(2)
- tmpfile(3)
- isupper_l(3)
- xdr_free(3)
- res_nquery(3)
- fts_open(3)
- shutdown(2)
- xdr_callmsg(3)
- coshl(3)
- ntp_gettimex(3)
- afs_syscall(2)
- be32toh(3)
- fchmodat(2)
- addseverity(3)
- pause(2)
- strcmp(3)
- mkostemps(3)
- wcsrtombs(3)
- scandir(3)
- __freadable(3)
- killpg(3)
- add_key(2)
- strcoll(3)
- migrate_pages(2)
- pthread_setattr_default_np(3)
- pthread_attr_setsigmask_np(3)
- sigabbrev_np(3)
- readdir(2)
- subpage_prot(2)
- strfromf(3)
- sysv_signal(3)
- gethostbyname2_r(3)
- outl_p(2)
- sync(2)
- pthread_attr_getinheritsched(3)
- socket(2)
- msgrcv(2)
- fgetws(3)
- pthread_cleanup_push_defer_np(3)
- getnetgrent_r(3)
- ynl(3)
- endservent(3)
- srand(3)
- endmntent(3)
- cbrtl(3)
- setitimer(2)
- pmap_rmtcall(3)
- svcerr_systemerr(3)
- fesetround(3)
- ilogbf(3)
- __fwriting(3)
- log1p(3)
- futimens(3)
- xdrrec_endofrecord(3)
- setreuid32(2)
- swab(3)
- pthread_spin_init(3)
- memchr(3)
- fminf(3)
- getipnodebyname(3)
- msgop(2)
- wait(2)
- ether_aton_r(3)
- open_wmemstream(3)
- xdr_bool(3)
- pthread_tryjoin_np(3)
- xdr_int(3)
- inet_net_ntop(3)
- fdimf(3)
- srand48(3)
- xdr_setpos(3)
- asinf(3)
- program_invocation_name(3)
- write(2)
- mkdtemp(3)
- pthread_cleanup_pop(3)
- ptsname_r(3)
- lgammal_r(3)
- pthread_attr_getstackaddr(3)
- authunix_create(3)
- getpmsg(2)
- ceill(3)
- cexp2f(3)
- kcmp(2)
- setup(2)
- err(3)
- sync_file_range2(2)
- getpid(2)
- wcsncat(3)
- envz_get(3)
- futimes(3)
- mincore(2)
- herror(3)
- ether_line(3)
- feholdexcept(3)
- fputc(3)
- keyctl(2)
- timer_delete(2)
- posix_spawn(3)
- faccessat2(2)
- setnetgrent(3)
- pwrite(2)
- aio_read(3)
- shmget(2)
- acosh(3)
- sigdelset(3)
- __ppc_get_timebase(3)
- __flbf(3)
- dladdr1(3)
- argz_create_sep(3)
- mblen(3)
- gethostent(3)
- pciconfig_iobase(2)
- recvmmsg(2)
- isprint_l(3)
- csqrtf(3)
- wcstoimax(3)
- hsearch_r(3)
- svcudp_create(3)
- setreuid(2)
- le16toh(3)
- name_to_handle_at(2)
- strftime_l(3)
- pthread_attr_setschedparam(3)
- eventfd(2)
- atanhf(3)
- pthread_setspecific(3)
- pthread_cond_init(3)
- acosl(3)
- llistxattr(2)
- fputwc_unlocked(3)
- scanf(3)
- getmntent_r(3)
- getchar(3)
- res_ninit(3)
- error_one_per_line(3)
- sigsetmask(3)
- putwchar(3)
- llroundf(3)
- rt_sigpending(2)
- send(2)
- wcsstr(3)
- log2l(3)
- fmod(3)
- va_copy(3)
- res_search(3)
- res_nsend(3)
- res_query(3)
- wait3(2)
- encrypt_r(3)
- system(3)
- close_range(2)
- ecvt_r(3)
- read(2)
- auth_destroy(3)
- realloc(3)
- pipe2(2)
- dn_expand(3)
- timerclear(3)
- get_avphys_pages(3)
- mbsnrtowcs(3)
- strtok(3)
- fwide(3)
- __ppc_get_timebase_freq(3)
- gai_suspend(3)
- stpcpy(3)
- lldiv(3)
- iswxdigit(3)
- posix_openpt(3)
- s390_pci_mmio_write(2)
- pthread_spin_destroy(3)
- callrpc(3)
- getifaddrs(3)
- aio_suspend(3)
- fread_unlocked(3)
- get_nprocs_conf(3)
- getuid(2)
- spu_run(2)
- termios(3)
- umask(2)
- csqrtl(3)
- register_printf_modifier(3)
- sem_trywait(3)
- tee(2)
- msync(2)
- mpool(3)
- setdomainname(2)
- fopencookie(3)
- nl_langinfo(3)
- sockatmark(3)
- getspent_r(3)
- casinhl(3)
- fdiml(3)
- ntohs(3)
- fgets(3)
- time(2)
- casinl(3)
- pthread_detach(3)
- seccomp_unotify(2)
apt-get install manpages-dev
Available languages:
en fr pl nl ja ru zh_TW zh_CN deManual
execve
NOMBIBLIOTHĂQUE
SYNOPSIS
DESCRIPTION
Effets sur les attributs de processus
Scripts dâinterprĂ©teur
Limites sur la taille des paramĂštres et dâenvironnement
VALEUR RENVOYĂE
ERREURS
VERSIONS
Scripts dâinterprĂ©teur
STANDARDS
HISTORIQUE
NOTES
execve() et EAGAIN
EXEMPLES
VOIR AUSSI
TRADUCTION
NOM
execve - Exécuter un programme
BIBLIOTHĂQUE
BibliothĂšque C standard ( libc , -lc )
SYNOPSIS
#include <unistd.h>
int
execve(const char *
pathname
, char *const
_Nullable
argv
[],
char *const _Nullable
envp
[]);
DESCRIPTION
execve () exĂ©cute le programme auquel renvoie pathname . Il sâensuit que le programme en cours dâexĂ©cution par le processus appelant sera remplacĂ© par un nouveau programme, avec une pile et un tas nouvellement initialisĂ©s, et des segments de donnĂ©es (initialisĂ©s et non initialisĂ©s)
pathname doit ĂȘtre soit un exĂ©cutable binaire, soit un script qui commence par une ligne sous la forme :
#! interpréteur [argument-optionnel]
Pour des dĂ©tails sur ce dernier cas, consultez « Scripts dâinterprĂ©teur » ci-dessous.
argv est un tableau de pointeurs vers des chaĂźnes passĂ©es au nouveau programme en tant quâarguments de la ligne de commande. Par convention, la premiĂšre de ces chaĂźnes (Ă savoir argv[0] ) devrait contenir le nom de fichier associĂ© au fichier Ă©tant exĂ©cutĂ©. Le tableau argv doit se terminer par un pointeur NULL (ainsi, dans le nouveau programme, argv[argc] sera un pointeur NULL).
envp est un tableau de pointeurs vers des chaĂźnes, ayant par convention la forme clĂ©=valeur , qui sont passĂ©s au nouveau programme en tant quâenvironnement. Le tableau envp dois se terminer par un pointeur NULL.
Cette page de manuel dĂ©crit lâappel systĂšme Linux en dĂ©tail ; pour un aperçu de la nomenclature et des nombreuses variantes, souvent prĂ©fĂ©rables et standardisĂ©es de cette fonction, fournies par la libc, dont celles qui recherchent la variable dâenvironnement PATH , voir exec (3).
Le vecteur dâargument et lâenvironnement sont accessibles Ă la fonction principale du nouveau programme quand elle est dĂ©finie ainsi :
int main(int argc, char *argv[], char *envp[])
Notez, cependant, que lâutilisation dâun troisiĂšme argument dans la fonction principale nâest pas spĂ©cifiĂ©e dans POSIX.1, selon laquelle lâenvironnement doit ĂȘtre accessible par la variable externe environ (7).
En cas de réussite, execve () ne renvoie rien et les segments de texte, les données initialisées et non initialisées (« bss »), ainsi que la pile du processus appelant sont remplacés par ceux du programme chargé.
Si lâon effectuait un ptrace (2) sur le programme actuel, un signal SIGTRAP lui est envoyĂ© aprĂšs la rĂ©ussite de execve ().
Si le bit set-user-ID est positionnĂ© sur le fichier du programme auquel renvoie pathname , lâID de lâutilisateur effectif du processus appelant passe Ă celui du propriĂ©taire du programme. De mĂȘme, lorsque le bit set-group-ID est positionnĂ© sur le fichier du programme, lâID du groupe effectif du processus appelant est modifiĂ© pour correspondre Ă celui du groupe du fichier.
Les transformations prĂ©citĂ©es des ID effectifs ne sont pas effectuĂ©es (câest-Ă -dire que les bits set-user-ID et set-group-ID sont ignorĂ©s) si un des Ă©lĂ©ments suivants est vrai :
|
- |
lâattribut no_new_privs est dĂ©fini pour le thread appelant (voir prctl (2)) ; |
||
|
- |
le systÚme de fichiers sous-jacent est monté en nosuid (le drapeau MS_NOSUID de mount (2)) ; |
||
|
- |
ou un ptrace va ĂȘtre appliquĂ© au processus appelant. |
Les capacités du fichier du programme (voir capabilities (7)) sont également ignorées si un des éléments ci-dessus est vrai.
LâUID effectif du processus est copiĂ© dans le set-user-ID sauvegardé ; de la mĂȘme maniĂšre, le GID effectif est copiĂ© dans le set-group-ID sauvegardĂ©. Ces copies ont lieu aprĂšs toute modification dâID effectif Ă cause des bits de permission set-user-ID et set-group-ID.
LâUID et le GID rĂ©el du processus ainsi que ses ID de groupe complĂ©mentaires ne sont pas modifiĂ©s par un appel Ă execve ().
Si lâexĂ©cutable est un fichier binaire a.out liĂ© dynamiquement, et contenant des appels aux bibliothĂšques partagĂ©es, lâĂ©diteur de liens dynamiques de Linux ld.so (8) est appelĂ© au dĂ©but de lâexĂ©cution, afin de charger les bibliothĂšques partagĂ©es nĂ©cessaires en mĂ©moire et dâeffectuer lâĂ©dition des liens de lâexĂ©cutable avec eux.
Si lâexĂ©cutable est au format ELF liĂ© dynamiquement, lâinterprĂ©teur indiquĂ© dans le segment PT_INTERP sera invoquĂ© pour charger les bibliothĂšques partagĂ©es. Cet interprĂ©teur est gĂ©nĂ©ralement /lib/ld-linux.so.2 pour les fichiers binaires liĂ©s avec la glibc (voir ld-linux.so (8)).
Effets sur les attributs de processus
Tous les attributs de processus sont prĂ©servĂ©s lors dâun execve (), Ă lâexception des suivants :
|
- |
Les signaux pour lesquels le processus avait placé un gestionnaire sont réinitialisés à leur valeur par défaut (consultez signal (7)). |
||
|
- |
LâĂ©ventuelle pile spĂ©cifique pour les gestionnaires de signal nâest pas conservĂ©e ( sigaltstack (2)). |
||
|
- |
Les projections en mémoire ne sont pas conservées ( mmap (2)). |
||
|
- |
Les segments de mémoire partagée System V sont détachés ( shmat (2)). |
||
|
- |
Les objets de mémoire partagée POSIX sont supprimés ( shm_open (3)). |
||
|
- |
Les descripteurs de files de messages POSIX ouverts sont fermés ( mq_overview (7)). |
||
|
- |
Les sémaphores nommés POSIX ouverts sont fermés ( sem_overview (7)). |
||
|
- |
Les temporisations POSIX ne sont pas conservées ( timer_create (2)). |
||
|
- |
Les flux de répertoires ouverts sont fermés ( opendir (3)). |
||
|
- |
Les verrouillages de mémoire ne sont pas préservés ( mlock (2), mlockall (2)). |
||
|
- |
Les gestionnaires de terminaison ne sont pas préservés ( atexit (3), on_exit (3)). |
||
|
- |
Lâenvironnement de travail en virgule flottante est rĂ©initialisĂ© Ă celui par dĂ©faut (consultez fenv (3)). |
Les attributs de processus listĂ©s ci-dessus sont spĂ©cifiĂ©s dans POSIX.1. Les attributs de processus spĂ©cifiques Ă Linux suivants sont Ă©galement rĂ©initialisĂ©s lors dâun execve () :
|
- |
Lâattribut « dumpable » du processus est positionnĂ© sur la valeur 1 , sauf si un programme set-user-ID, set-group-ID ou en ayant les capacitĂ©s est exĂ©cutĂ©, auquel cas lâattribut dumpable peut, au contraire, ĂȘtre rĂ©initialisĂ© Ă la valeur dans /proc/sys/fs/suid_dumpable , dans les circonstances dĂ©crites sous PR_SET_DUMPABLE dans prctl (2). Remarquez que les modifications dâun attribut « dumpable » peuvent entraĂźner le passage du propriĂ©taire des fichiers du rĂ©pertoire /proc/ pid du processus Ă root:root , comme dĂ©crit dans proc (5). |
||
|
- |
Lâattribut PR_SET_KEEPCAPS de prctl (2) est effacĂ©. |
||
|
- |
(Depuis Linux 2.4.36 ou 2.6.23) Si un programme set-user-ID ou set-group-ID est exĂ©cutĂ©, alors le signal de mort de son parent dĂ©fini par lâattribut PR_SET_PDEATHSIG de prctl (2) est effacĂ©. |
||
|
- |
Le nom du processus, positionné par prctl (2) PR_SET_NAME (et affiché avec ps -o comm ), est réinitialisé avec le nom du nouvel exécutable. |
||
|
- |
Lâattribut securebits de SECBIT_KEEP_CAPS est effacĂ©. Consultez capabilities (7). |
||
|
- |
Le signal de terminaison est réinitialisé à SIGCHLD (consultez clone (2)). |
||
|
- |
La table des descripteurs de fichier nâest pas partagĂ©e, ce qui annule les effets de lâattribut CLONE_FILES de clone (2). |
Notez également les points suivants :
|
- |
Tous les threads autres que lâappelant sont dĂ©truits lors dâun execve (). Les mutex, les variables de condition, et les autres objets de pthreads sont dĂ©truits. |
||
|
- |
LâĂ©quivalent de setlocale(LC_ALL, "C") est exĂ©cutĂ© au dĂ©marrage du programme. |
||
|
- |
POSIX.1 indique que les actions pour les signaux ignorĂ©s ou placĂ©s Ă la valeur par dĂ©faut ne sont pas modifiĂ©es. Une exception est nĂ©anmoins spĂ©cifiĂ©e dans POSIX.1 : si SIGCHLD est ignorĂ©, lâimplĂ©mentation peut laisser lâaction inchangĂ©e ou la replacer Ă la valeur par dĂ©faut ; Linux ne modifie pas lâaction. |
||
|
- |
Toutes les opĂ©rations dâE/S asynchrones en cours sont annulĂ©es ( aio_read (3), aio_write (3)). |
||
|
- |
Pour le traitement des capacitĂ©s lors dâun execve (), consultez capabilities (7). |
||
|
- |
Par dĂ©faut, les descripteurs de fichier restent ouverts au travers dâun execve (). Les descripteurs marquĂ©s close-on-exec sont fermĂ©s ; consultez la description de FD_CLOEXEC dans fcntl (2). (Si un descripteur de fichier est fermĂ©, cela cause la libĂ©ration de tous les verrous dâenregistrement obtenus sur le fichier correspondant par ce processus. Consultez fcntl (2) pour les dĂ©tails.) POSIX.1 indique que si les descripteurs de fichiers 0 , 1 et 2 devaient ĂȘtre fermĂ©s aprĂšs un execve () rĂ©ussi, et que le processus devient privilĂ©giĂ© en raison dâun bit set-user-ID ou set-group-ID sur le fichier exĂ©cutĂ©, le systĂšme peut ouvrir un fichier non indiquĂ© pour chacun de ces descripteurs. En gĂ©nĂ©ral, aucun programme portable, privilĂ©giĂ© ou pas, ne peut considĂ©rer que ces trois descripteurs resteront fermĂ©s aprĂšs un execve (). |
Scripts dâinterprĂ©teur
Un script dâinterprĂ©teur est un fichier textuel dont le bit dâexĂ©cution est activĂ© et dont la premiĂšre ligne est de la forme :
#! interpréteur [argument-optionnel]
Lâ interprĂ©teur doit ĂȘtre le chemin valable dâun fichier exĂ©cutable.
Si lâargument pathname de execve () indique un script interprĂ©tĂ©, lâ interprĂ©teur sera appelĂ© avec les arguments suivants :
interpréteur [argument-optionnel] pathname arg...
oĂč pathname est le chemin du fichier indiquĂ© en premier argument de execve (), et arg... est la sĂ©rie de mots vers lesquels pointe lâargument argv de execve (), Ă partir de argv [1]. Remarquez quâil nây a aucune maniĂšre dâobtenir argv[0] passĂ© Ă lâappel execve ().
Pour ĂȘtre portable, argument-optionnel doit soit ĂȘtre absent, soit ĂȘtre un seul mot (câest-Ă -dire ne pas contenir dâespace)Â ; consultez les NOTES ci-dessous.
Depuis Linux 2.6.28, le noyau autorise lâinterprĂ©teur de script Ă ĂȘtre lui-mĂȘme un script. Cette autorisation est rĂ©cursive jusquâĂ quatre niveaux, pour quâun interprĂ©teur puisse ĂȘtre interprĂ©tĂ© par un script qui est interprĂ©tĂ© par un script, et ainsi de suite.
Limites sur la taille des paramĂštres et dâenvironnement
La plupart des implĂ©mentations UNIX imposent des limites sur la taille totale des chaĂźnes des paramĂštres des lignes de commande ( argv ) et de lâenvironnement ( envp ) qui peuvent ĂȘtre passĂ©es Ă un nouveau programme. POSIX.1 permet Ă une implĂ©mentation dâannoncer cette limite en utilisant la constante ARG_MAX (soit dĂ©finie dans <limits.h> , soit disponible Ă lâexĂ©cution en utilisant lâappel sysconf(_SC_ARG_MAX) ).
Avant Linux 2.6.23, la mĂ©moire utilisĂ©e pour stocker les chaĂźnes dâenvironnements et dâarguments Ă©tait limitĂ©e Ă 32 pages (dĂ©finie par la constante noyau MAX_ARG_PAGES ). Sur les architectures dont la taille de page est 4 Ko, cela donne un maximum de 128 Ko.
Sur Linux 2.6.23 et ultĂ©rieurs, la plupart des architectures ont une limite de taille dĂ©rivĂ©e de la limite de ressources souple RLIMIT_STACK (consultez getrlimit (2)) qui est en vigueur au moment de lâappel Ă execve () (ce nâest pas le cas pour les architectures sans unitĂ© de gestion mĂ©moire : elles conservent la limite des noyaux antĂ©rieurs Ă Linux 2.6.23). Ce changement permet aux programmes dâavoir une liste de paramĂštres ou un environnement beaucoup plus grand. Pour ces architectures, la taille totale est limitĂ©e Ă 1/4 de la taille de pile permise (imposer une limite de 1/4 permet dâassurer que le nouveau programme garde de lâespace pour la pile). De plus, la taille totale est limitĂ©e Ă 3/4 de la valeur de la constante _STK_LIM du noyau (8 Mio). Depuis Linux 2.6.25, le noyau place une limite infĂ©rieure de 32 pages Ă cette limite de taille, de telle sorte que mĂȘme si RLIMIT_STACK est trĂšs faible, il est garanti aux applications quâelles auront au moins autant de place pour les paramĂštres et leur environnement que ce qui Ă©tait fourni par Linux 2.6.23 et les prĂ©cĂ©dents (cette garantie nâĂ©tait pas prĂ©sente dans Linux 2.6.23 et 2.6.24). De plus, la limite par chaĂźne est de 32 pages (la constante noyau MAX_ARG_STRLEN ), et le nombre maximal de chaĂźnes est de 0x7FFFFFFF.
VALEUR RENVOYĂE
En cas de rĂ©ussite, execve () ne renvoie rien, en cas dâĂ©chec il renvoie -1 et errno est positionnĂ© pour indiquer lâerreur.
ERREURS
|
E2BIG |
Le nombre total dâoctets dans lâenvironnement ( envp ) et la liste dâarguments sont trop longs, une chaĂźne dâargument ou dâenvironnement est trop longue ou le pathname complet de lâexĂ©cutable est trop long. Lâoctet NULL terminal est comptĂ© comme faisant partie de la longueur de la chaĂźne. |
||
|
EACCES |
Le droit de parcours est refusĂ© pour un des composants du prĂ©fixe du chemin pathname ou du nom dâun interprĂ©teur de script (consultez aussi path_resolution (7)). |
||
|
EACCES |
Le fichier ou lâinterprĂ©teur de script nâest pas un fichier rĂ©gulier. |
||
|
EACCES |
Lâautorisation dâexĂ©cution est refusĂ©e pour le fichier, ou un interprĂ©teur de script, ou un interprĂ©teur ELF. |
||
|
EACCES |
Le systĂšme de fichiers est montĂ© avec lâoption noexec . |
EAGAIN (depuis Linux 3.1)
Ayant modifiĂ© son UID rĂ©el avec un des appels set * uid (), lâappelant Ă©tait â et est toujours â au-delĂ de sa limite de ressources RLIMIT_NPROC (consultez setrlimit (2)). Pour une explication plus prĂ©cise de cette erreur, consultez NOTES .
|
EFAULT |
pathname ou lâun des pointeurs du vecteur argv ou envp pointe en dehors de lâespace dâadressage accessible. |
||
|
EINVAL |
Un exécutable ELF a plusieurs segments PT_INTERP (indique plusieurs interpréteurs). |
||
|
EIO |
Une erreur dâentrĂ©e-sortie sâest produite. |
||
|
EISDIR |
LâinterprĂ©teur ELF citĂ© est un rĂ©pertoire. |
ELIBBAD
LâinterprĂ©teur ELF mentionnĂ© nâest pas dans un format connu.
|
ELOOP |
Trop de liens symboliques rencontrĂ©s dans la rĂ©solution de pathname ou du nom de lâinterprĂ©teur de script ou ELF. |
||
|
ELOOP |
La limite maximale de niveaux a Ă©tĂ© atteinte pendant lâinterprĂ©tation rĂ©cursive du script (voir « scripts interprĂ©teurs » ci-dessus). Avant Linux 3.8 lâerreur gĂ©nĂ©rĂ©e dans ce cas Ă©tait ENOEXEC . |
||
|
EMFILE |
La limite du nombre de descripteurs de fichiers par processus a été atteinte. |
ENAMETOOLONG
nom_chemin est trop long.
|
ENFILE |
La limite du nombre total de fichiers ouverts pour le systÚme entier a été atteinte. |
||
|
ENOENT |
Aucun fichier pathname ou interprĂ©teur de script ou ELF nâexiste. |
ENOEXEC
Le fichier exĂ©cutable nâest pas dans le bon format, ou est destinĂ© Ă une autre architecture.
|
ENOMEM |
La mĂ©moire disponible du noyau nâĂ©tait pas suffisante. |
ENOTDIR
Un composant du prĂ©fixe du chemin de pathname ou de lâinterprĂ©teur de script ou ELF nâest pas un rĂ©pertoire.
|
EPERM |
Le systĂšme de fichiers est montĂ© avec lâattribut nosuid , lâutilisateur nâest pas le superutilisateur et le fichier a un bit set-user-ID ou set-group-ID positionnĂ©. |
||
|
EPERM |
Le processus est suivi avec ptrace (2), lâutilisateur nâest pas le superutilisateur, et le fichier a un bit set-user-ID ou set-group-ID positionnĂ©. |
||
|
EPERM |
Une application « capability-dumb » nâobtiendrait pas toutes les capacitĂ©s rendues possibles par le fichier exĂ©cutable. Voir capabilities (7). |
ETXTBSY
LâexĂ©cutable spĂ©cifiĂ© Ă©tait ouvert en Ă©criture par un ou plusieurs processus.
VERSIONS
POSIX ne documente pas le comportement de « #! » mais celui-ci existe (avec quelques variations) sur dâautres systĂšmes UNIX.
Sur Linux, argv et envp peuvent ĂȘtre indiquĂ©s comme NULL. Dans les deux cas, cela a le mĂȘme effet que de spĂ©cifier un argument comme un pointeur sur une liste contenant un seul pointeur NULL. Nâen profitez pas pour faire des choses non standard et non portables ! . Sur de nombreux autres systĂšmes UNIX, spĂ©cifier argv comme NULL donnera une erreur ( EFAULT ). Dâautres systĂšmes UNIX traitent le cas envp==NULL comme Linux.
POSIX.1 indique que les valeurs renvoyĂ©es par sysconf (3) ne doivent pas changer pendant la vie dâun processus. Cependant, depuis Linux 2.6.23, si la limite de ressources RLIMIT_STACK change, alors la valeur renvoyĂ©e par _SC_ARG_MAX changera Ă©galement, pour reflĂ©ter le fait que la limite de lâespace qui reçoit les paramĂštres de la ligne de commande et les variables dâenvironnement a changĂ©.
Scripts dâinterprĂ©teur
Le noyau impose une longueur maximale de texte aprÚs les caractÚres « #! » au début du script ; les caractÚres au-delà de cette limite sont ignorés. Avant Linux 5.1, la limite était de 127 caractÚres. Depuis Linux 5.1, elle est de 255 caractÚres.
La sĂ©mantique de lâ argument-optionnel dâun script diffĂšre selon les implĂ©mentations. Sous Linux, la chaĂźne qui suit le nom de lâ interprĂ©teur est passĂ©e Ă lâinterprĂ©teur comme un seul mot, et cette chaĂźne peut contenir des espaces. Cependant, le comportement est diffĂ©rent sur dâautres systĂšmes. Certains utilisent la premiĂšre espace comme fin de lâ argument-optionnel . Sur certains systĂšmes, un script peut avoir plusieurs arguments, dĂ©limitĂ©s par des espaces dans argument-optionnel .
Linux (comme la plupart des autres systĂšmes UNIX modernes) ignore les bits set-user-ID et set-group-ID sur les scripts.
STANDARDS
POSIX.1-2008.
HISTORIQUE
POSIX.1-2001, SVr4, 4.3BSD.
Avec UNIX V6, la liste des arguments dâun appel exec () se terminait par 0 , alors que la liste des arguments de main se terminait par -1 . Aussi, cette liste dâarguments nâĂ©tait pas utilisable directement dans un appel exec () supplĂ©mentaire. Depuis UNIX V7, les deux terminateurs sont NULL.
NOTES
On pourrait parfois voir execve () (et les fonctions associĂ©es dĂ©crites dans exec (3)) dĂ©crit comme un « exĂ©cuteur de nouveau processus » (ou Ă©quivalent). Câest une description trĂšs trompeuse : il nây a pas de nouveau processus ; beaucoup dâattributs du processus appelant demeurent inchangĂ©s (en particulier son PID). Tout ce que fait execve () est de sâorganiser pour quâun processus existant (le processus appelant) exĂ©cute un nouveau programme.
Les processus set-user-ID et set-group-ID ne peuvent pas ĂȘtre suivis par ptrace (2).
Le rĂ©sultat dâun montage de systĂšme de fichiers avec lâattribut nosuid peut varier suivant les versions du noyau Linux : certaines refuseront lâexĂ©cution des fichiers set-user-ID et set-group-ID lorsque cela donnerait Ă lâappelant des privilĂšges quâil nâa pas (et renverront lâerreur EPERM ), dâautres ignoreront simplement les bits set-user-ID et set-group-ID mais accepteront dâeffectuer lâappel exec ().
Dans la plupart des cas oĂč execve () Ă©choue, le contrĂŽle renvoie vers lâimage exĂ©cutable dâorigine et lâappelant de execve () peut alors traiter lâerreur. Cependant, dans de (rares) cas (typiquement provoquĂ©s par un Ă©puisement de ressources), lâĂ©chec pourrait se produire aprĂšs le point de non-retour : lâimage exĂ©cutable dâorigine a Ă©tĂ© supprimĂ©e, mais la nouvelle image nâa pas pu ĂȘtre construite complĂštement. Dans ces cas-lĂ , le noyau tue le processus avec un signal SIGSEGV ( SIGKILL jusquâĂ Linux 3.17).
execve() et EAGAIN
Une explication plus dĂ©taillĂ©e de lâerreur EAGAIN qui peut se produire (depuis Linux 3.1) en appelant execve () est comme suit.
Lâerreur EAGAIN peut se produire quand un appel prĂ©cĂ©dent de setuid (2), setreuid (2) ou setresuid (2) a causĂ© la modification de lâidentifiant dâutilisateur rĂ©el du processus et que cette modification a forcĂ© le processus Ă dĂ©passer sa limite de ressources RLIMIT_NPROC (câest-Ă -dire que le nombre de processus appartenant au nouvel UID rĂ©el dĂ©passe la limite de ressources). De Linux 2.6.0 Ă Linux 3.0, cela provoquait un Ă©chec de lâappel set*uid () (avant Linux 2.6, la limite de ressources nâĂ©tait pas imposĂ©e sur les processus qui modifiaient leurs identifiants dâutilisateur).
Depuis Linux 3.1, le scĂ©nario prĂ©cĂ©demment dĂ©crit ne provoque plus un Ă©chec de lâappel set * uid (), parce que cela avait trop souvent pour consĂ©quence des trous de sĂ©curitĂ© quand les applications boguĂ©es ne vĂ©rifiaient pas lâĂ©tat de retour et assumait que â si lâappelant avait les droits du superutilisateur â lâappel rĂ©ussirait toujours. Ă la place, les appels set * uid () modifient vraiment lâUID rĂ©el, mais le noyau dĂ©finit un attribut interne, appelĂ© PF_NPROC_EXCEEDED , pour noter que la limite de ressources RLIMIT_NPROC a Ă©tĂ© dĂ©passĂ©e. Si lâattribut PF_NPROC_EXCEEDED est dĂ©fini et que la limite de ressources est toujours dĂ©passĂ©e au moment dâun appel execve () ultĂ©rieur, cet appel Ă©choue avec lâerreur EAGAIN . Cette logique du noyau assure que la limite de ressources RLIMIT_NPROC est toujours respectĂ©e pour le mode de fonctionnement habituel du dĂ©mon avec droits â câest-Ă -dire fork (2) + set*uid () + execve ().
Si la limite de ressources nâĂ©tait pas encore dĂ©passĂ©e au moment de lâappel execve () (parce que dâautres processus appartenant Ă cet UID rĂ©el se sont terminĂ©s entre lâappel set*uid () et lâappel execve ()), alors lâappel execve () rĂ©ussit et le noyau efface lâattribut de processus PF_NPROC_EXCEEDED . Lâattribut est aussi effacĂ© si un appel ultĂ©rieur de fork (2) par ce processus rĂ©ussit.
EXEMPLES
Le programme suivant est conçu pour ĂȘtre exĂ©cutĂ© par le second programme ci-dessous. Il se contente dâafficher les paramĂštres de sa ligne de commande, un par ligne.
/* myecho.c */
#include <stdio.h>
#include <stdlib.h>
int
main(int argc, char *argv[])
{
for (size_t j = 0; j < argc; j++)
printf("argv[%zu]: %s\n", j, argv[j]);
exit(EXIT_SUCCESS);
}
Ce programme peut ĂȘtre utilisĂ© pour exĂ©cuter le programme donnĂ© comme argument de ligne de commande :
/* execve.c */
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int
main(int argc, char *argv[])
{
static char *newargv[] = { NULL, "hello",
"world", NULL };
static char *newenviron[] = { NULL };
if (argc != 2) {
fprintf(stderr, "Usage: %s
<file-to-exec>\n", argv[0]);
exit(EXIT_FAILURE);
}
newargv[0] = argv[1];
execve(argv[1], newargv, newenviron);
perror("execve"); /* execve() ne
sâinterrompt quâen cas dâerreur */
exit(EXIT_FAILURE);
}
On peut utiliser le second programme pour exécuter le premier de la façon suivante :
$
cc
myecho.c -o myecho
$
cc execve.c -o execve
$
./execve ./myecho
argv[0]: ./myecho
argv[1]: hello
argv[2]: world
On peut aussi utiliser ces programmes pour montrer lâutilisation dâun interprĂ©teur de scripts. Pour ce faire, on crĂ©e un script dont lâ« interprĂ©teur » est notre programme myecho :
$
cat >
script
#!./myecho script-arg
^D
$
chmod +x script
On peut alors utiliser notre programme pour exécuter le script :
$
./execve
./script
argv[0]: ./myecho
argv[1]: script-arg
argv[2]: ./script
argv[3]: hello
argv[4]: world
VOIR AUSSI
chmod (2), execveat (2), fork (2), get_robust_list (2), ptrace (2), exec (3), fexecve (3), getauxval (3), getopt (3), system (3), capabilities (7), credentials (7), environ (7), path_resolution (7), ld.so (8)
TRADUCTION
La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org> et Jean-Philippe MENGUAL <jpmengual@debian.org>
Cette traduction est une documentation libre ; veuillez vous reporter Ă la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il nây a aucune RESPONSABILITĂ LĂGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org .