nohup: failed to run command `.': Permission denied

38,334

nohup runs an executable. You need to pass it an external command, i.e. an executable file. You can't call nohup on a shell construct such as an alias, function or builtin. nohup runs a new process, it doesn't run something inside the existing shell process (since nohup itself is a separate process), so nohup . … doesn't make sense.

nohup ./test.sh is the correct way to run a shell script with nohup. Make sure that the script properly starts with a shebang line (#!/bin/sh) and that the file is executable (chmod +x ./test.sh).

Share:
38,334

Related videos on Youtube

user994165
Author by

user994165

Updated on September 18, 2022

Comments

  • user994165
    user994165 over 1 year

    I tried execute my script using:

    nohup . test.sh
    

    and

    nohup . ./test.sh
    

    However, I got: nohup: failed to run command `.': Permission denied each time.

    What I'm really trying to do is in my script be able to call commands that I've aliased, but it only works with ". test.sh" or ". ./test.sh", not "./test.sh" or "sh ./test.sh" as I get a "command not found". But I'd like to be able to run this with "nohup".