задание cron не выводится в nohup.из

у меня start.sh bash скрипт, который работает, хотя CRON JOB на сервере ubuntu

start.sh содержит ниже упомянутые строки кода

путь start.sh is /home/ubuntu/folder1/folder2/start.sh

#!/bin/bash

crawlers(){
    nohup scrapy crawl first &
    nohup scrapy crawl 2nd &
    wait $!
    nohup scrapy crawl 3rd &
    nohup scrapy crawl 4th &
    wait
}

cd /home/ubuntu/folder1/folder2/
PATH=$PATH:/usr/local/bin
export PATH

python init.py &
wait $!
crawlers
python final.py

моя проблема в том, если я запускаю start.sh Мой себя в командной строке он выводит в команды nohup.вон!-Файл -4-->

но когда он выполняет это файл bash через cronjob (хотя скрипты работают нормально) его не производит команды nohup.вон!--4-->

Как я могу получить выход этого cronjob в команды nohup.вон!--4--> ?

1 ответов


почему вы используете nohup? nohup - это команда, которая говорит работающему терминалу игнорировать сигнал зависания. cron, однако, не имеет сигнала зависания, потому что он не связан с терминальной сессией.

в этом случае, вместо:

nohup scrapy crawl first &

вы, вероятно, хотите:

scrapy crawl first > first.txt &

последний пример также работает в терминале, но когда вы закроете терминал, то сигнал hangup (hup) отправляется, что завершает программу.