mas eu nao consigo pegar o PID com comando system() e armazenar em uma variavel declarada no progama..
eh mais facil usar getpid()
Versão Imprimível
mas eu nao consigo pegar o PID com comando system() e armazenar em uma variavel declarada no progama..
eh mais facil usar getpid()
e ae ta uma olhada neste link tem uma referencia da glib com todas as funções vê se isso q procura ok
http://www.gnu.org/software/libc/manual/html_node/
falow
kakaroto
É só uma idéia. Mas eu acho q tem como obter o PID lendo as informações do /proc. Eu não tentei... mas quem puder tentar... acho q tem tudo para funcionar.
fricardo
isso eh verdade tem como pegar o PID pelo /proc mas se kisermos q contem dentro do /proc/PID_em_processamento ?
por exemplo acessar um /proc/PID para pegarmos termos mais detalhes interessantes sobre o q estah ocorrendo?
por exemplo..um..
programa q ta sendo executando como root e SUID bit setado. Imaginemos q esse programa cria um link simbolico no /tmp mas esse programa usa o tmpnam() para gerar esse arquivo no /tmp, nao poderiamos prever qual arquivo serah criado no /tmp e as possibilidades de acertar com qual nome ele serah criada sao tao baixas q chegam a ser nulas.
se conseguirmos acessar o /proc/PID_desse_processo.. saberiamos com qual nome esse o arquivo serah gerado no /tmp e antes q esse arquivo fosse gerado poderiamos cria-lo primeir e adicionar uma conta com id 0 e fazer um link simbolico do /etc/passwd.
Mas ai q estah o problema no /proc os processos do superusuario nao pode ser acessados por usuarios comuns. pelo menos no slackware nao...nas outras distribuicoes ainda nao tentei..
Parece q há como funções do userland acessarem o /proc. Existem funções de leitura na interface do procfs. Esta informação está no "Linux Kernel Procfs Guide", q pode ser baixado na web.
fricardo