Запускать скрипт Python автоматически при запуске - Ubuntu 16.04 - PullRequest
0 голосов
/ 29 мая 2018

Я нахожусь на Ubuntu 16.04.1, и у меня есть скрипт python для загрузки файлов изображений с веб-сайтов, коды следующие:

import sys
import os
import time
import json
import shlex, subprocess
import signal
import random

R = 0
r = 0

targets = ['192.0.78.13', '134.109.133.7', '216.58.212.227', '54.246.159.107', '185.60.216.35', '98.136.103.24']

if __name__ == "__main__":
    while True:
        cmd = 'wget -A pdf,jpg,png -m -p -E -k -K -np --delete-after '
        R = random.randint(0,5)
        cmd += targets[R]

        args = shlex.split(cmd)
        p = subprocess.Popen(args, shell=False)

        time.sleep(2.0)
        # killing all processes in the group
        os.kill(p.pid, signal.SIGTERM)
        if p.poll() is None:  # Force kill if process
            os.kill(p.pid, signal.SIGKILL)
        r = random.randint(3,20)
        time.sleep(r-1)

он отлично работает с командой "python webaccess.py", теперь я хочу запустить его автоматически при запуске в фоновом режиме.Я пробовал два метода, но все они не работают (скрипт не запускается):

  1. Используйте crontab, используя приведенное здесь руководство: Запуск скрипта Python при запуске в Ubuntu

@ reboot python /bin/web1.py &

Отредактируйте rc.local, используя руководство здесь: https://askubuntu.com/questions/817011/run-python-script-on-os-boot

python /bin/web1.py &

Есть ли способрешить это?

Заранее спасибо.

1 Ответ

0 голосов
/ 20 июля 2018

Ваш метод rc.local должен работать, проверьте, используя полный путь к Python.если это значение по умолчанию / usr / bin / python / use / bin / python your_file_py

, также вы сказали, что вы подтвердили, что python webaccess.py проверяет его вне папки скрипта.Также обратите внимание, что скрипты в rc.local выполняются пользователем root, поэтому проверьте path_to_python python_file из root #

...