我有4个脚本文件用于启动我的django项目。我想在系统启动时在后台运行这些脚本。我创建了一个触发其他脚本,并尝试了sudo crontab -e
@reboot /that/one/script.sh
。它在启动时工作(我理解它,因为端口是打开的(,但它没有在后台运行。当我进入浏览器时,我可以看到nginx默认页面,它正在打开端口,但我的网站无法继续工作。
script1:celery -A MyProject flower --loglevel=info
script2:uswgi --socket mysite.sock --module MyProject.wsgi --chmod-socket=666 --http :9090 --chdir /home/ubuntu/Desktop/project
script3:celery worker --app=MyProject --loglevel=info --pool=gevent --concurrency=1000
script4:celery beat -A MyProject -l DEBUG
。
手动操作一切正常。那么,我如何在启动时运行这些脚本,并在没有系统登录的情况下在后台继续运行呢。
这个过程,通常被称为守护进程,在Celery文档中的专用"守护进程"页面上有详细解释。