Linux shell命令源仅使用来执行。呼叫

时间:2019-01-07 10:28:04

标签: shell cron virtualenv ubuntu-18.04

在我的ubuntu 18服务器上,我创建一个像这样的.sh文件:

#!/bin/bash
source "/home/ubuntu/.venv36/bin/activate"
nohup python manage.py runserver &

好吧,我将其另存为我的/var/www/web/core目录中的startup.sh。 此时,如果在控制台中,我将工作目录如下:

cd /var/www/web/core

并执行

. startup.sh

一切正常,创建virtualenv并启动运行服务器。 问题是如果从根目录我直接像这样调用我的脚本:

/var/www/web/core/startup.sh

命令源无法运行,但是nohup是的,并且最终我的应用程序无法运行。 如何直接执行sh文件?我需要在服务器启动时执行它,现在在crontab中使用以下命令:

@reboot /var/www/web/core/startup.sh

但是它不能像我上面解释的那样工作。

0 个答案:

没有答案