I'm trying to write a program to process the BSD-style process accounting file under Linux (/var/account/pacct).
When we start a script with either ./script_name
or bash script_name
, the process accounting record actually gets written out the the command bash
. Presumably because that's the actual program doing the running.
What we'd like to see is the command script_name
. Does anyone know of a way to get the script name written to the accounting file rather than the bash executable?
Linux: Eternal Bash History with Snoopy.
Edit: As a hack alternative, you can periodically run
ps -eo args
Edit by questioner (so I can accept the answer from the only SO'er who helped out :-):
I found that if you actually added "'
#!bin/bash
" to the file, it started showing up in pacct with the script name (tst
) instead of the interpreter (bash
).My script was originally devoid of the hash-bang marker and it may be that
bash
had to re-exec itself or something like that. Anyway, it's fixed now.