Estou analisando o /proc/pid/cmdline
valor de vários processos em meu sistema Linux (Ubuntu 16.04) e descobri que, embora a maioria das entradas seja codificada com nulo, como esperado , pelo menos uma usa espaços para delimitadores que considero inesperados.
Na documentação do proc(5) , não vejo nenhuma indicação de que isso deveria estar acontecendo. Existem casos em que devo esperar espaços como delimitadores em vez de valores nulos? Em caso afirmativo, onde posso encontrar documentação que descreva o comportamento?
Comportamento
Isso é o que vejo quando tento cat o cmdline para um dos processos do navegador chromium (observe que o caractere de espaço é usado para delimitar os valores):
user@host:~$ cat /proc/2721/cmdline
/usr/lib/chromium-browser/chromium-browser --type=gpu-process --field-trial-handle=2073283832741738928,4790986738309707242,131072 --gpu-preferences=GAAAAAAAAAAAAQAAAQAAAAAAAAAAAGAA --gpu-vendor-id=0x15ad --gpu-device-id=0x0405 --gpu-driver-vendor=Mesa --gpu-driver-version=17.2.8 --gpu-driver-date --service-request-channel-token=3778166CAD6E96F44A7268DF1AB1DD53
Eu esperaria ver algo assim (valores nulos como delimitador), que é o que vejo de outros processos no sistema:
~$ cat /proc/354/cmdline
vmware-vmblock-fuse/run/vmblock-fuse-orw,subtype=vmware-vmblock,default_permissions,allow_other,dev,suid