ps
não oculta a senha. Aplicativos como o mysql sobrescrevem a lista de argumentos que eles obtiveram. Observe que há um pequeno período de tempo (possível estendido pela alta carga do sistema), em que os argumentos ficam visíveis para outros aplicativos até serem sobrescritos. Ocultar o processo para outros usuários pode ajudar. Em geral, é muito melhor passar senhas por arquivos do que por linha de comando.
Em este artigo é descrito para C, como fazer isso. O exemplo a seguir oculta / exclui todos os argumentos da linha de comando:
#include <string.h>
int main(int argc, char **argv)
{
// process command line arguments....
// hide command line arguments
if (argc > 1) {
char *arg_end;
arg_end = argv[argc-1] + strlen (argv[argc-1]);
*arg_end = ' ';
}
// ...
}