When you run a command with
stdin is redirected from
/dev/null. So you cannot use
nohup and manually enter a password.
Depending up on the program that you're using, you can use redirections to enter the password:
$ nohup bash -c 'read; echo $REPLY' <<<'hello'
$ tail -1 nohup.out
So you could save your password in a file (say
password.txt), and encrypt it using something like
gpg with a password-protected private key (to get
password.txt.gpg), and do:
gpg -d password.txt.gpg | nohup php hat
Or, you could use something like
First start a
screen session (this command actually either starts a session named
my-php-script-session, or brings one that is already running to the foreground):
screen -D -RR -S my-php-script-session
Then in the shell that opens, run your command normally:
Enter your password, and then detach the
screen session: Ctrla, followed by d.
You can re-attach it by running the first
screen command again.