Existe uma grande diferença entre eles.
-
ulimit -e
apenas defina oRLIMIT_NICE
, que é um valor limite superior para o qual o valor interessante do processo pode ser definido usandosetpriority
ounice
. -
renice
altera a prioridade do processo em execução.
Fazendo strace
:
$ cat test.sh
#!/bin/bash
ulimit -e 19
Então:
$ strace ./test.sh
...................................................
read(255, "#!/bin/bash\n\nulimit -e 19\n", 26) = 26
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
getrlimit(RLIMIT_NICE, {rlim_cur=0, rlim_max=0}) = 0
getrlimit(RLIMIT_NICE, {rlim_cur=0, rlim_max=0}) = 0
setrlimit(RLIMIT_NICE, {rlim_cur=19, rlim_max=19}) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
read(255, "", 26) = 0
exit_group(0)
Você pode ver que ulimit
só chama setrlimit
syscall para alterar o valor de RLIMIT_NICE
, nada mais.
Nota