Как я могу выполнить сервисы в WSL

После поиска этого сайта и различного Q, ясно, что сервисы и systemd не доступны для WSL. Я должен запустить программу в WSL каждый раз, я запускаю свой ПК, таким образом, я прочитал эту страницу о том, как использовать crontab: Как выполнить сервис Ubuntu на Windows (при запуске)? | Суперпользователь, но я запутался, потому что формат не соответствует формату в crontab. Однако это - мой крон:

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
PATH=cd /usr/local/src/:cd xmr-stak-cpu:cd bin/
@reboot . sudo ./xmr-stak-cpu

Я также сделал это:

Работайте на цикле удара/крона, запускаются

Create a file called linux.bat in shell:startup 

Paste: C:\Windows\System32\bash.exe -c 'while [ true ]; do sudo /usr/sbin/cron -f; done'

Это не работает.

Как я могу выполнить сервис в WSL? Конечно, должен быть путь, который не требует, чтобы я был доктором философии Linux? Или есть ли способ использовать Windows

Поскольку в Windows I попробовали следующее: использование https://github.com/Microsoft/WSL/issues/612

Run: When the computer starts, 
Action: Start a program, 
Program: c:\Windows\system32\bash.exe, 
Arguments: -c "sudo  /xmr-stak-cpu/bin/xmr-stak-cpu -D"
Start in:  /usr/local/src/

И поскольку Вы предположили, это все еще не работает. Откровенно мне жаль, что я не мог сделать это в WSL, потому что это - мой предпочтительный путь, но я возьму любой путь. Помогите парням.

6
задан 10 April 2018 в 18:06

2 ответа

Обновление 25 августа 2019

От: практический с WSL: Задачи Executing Daily возможно работать cron без systemd. Я суммировал ссылку ниже, но посетите для полной истории наряду со снимками экрана.

Выполнение заданий крона

Если необходимо запускать тот же скрипт или программу одновременно каждый день, Ubuntu обеспечивает команду крона. Узнать больше cron управляйте, введите man cron.

Крон в настоящее время не хорошо поддерживается в WSL, потому что это - фоновый сервис, и WSL только разработан для запущения программ, которые связаны с окном терминала. Следовательно, когда Вы закрываете свое окно WSL Ubuntu, все процессы Linux, включая демона крона, будут закрыты. Тем не менее, пока у Вас есть свои окна, открытые или минимизированные, Ваши задания крона продолжат работать.

Я сначала проверил, чтобы видеть, работала ли услуга крона путем ввода service --status-all. Это показало, что крон имел тире (" - ") перед ним, указывая, что он не работал.

Я затем запустил крон и сервисы фактического времени отправления путем ввода: service cron start и service atd start.

Для тестирования команды крона я создал названный файл MyDate.sh это имело следующие две строки в нем:

#! /bin/bash
date >> /tmp/MyDate.txt

Первая строка говорит Ubuntu выполнять команду с помощью оболочки Bash и вторых записей текущий день и время в названный файл /tmp/MyDate.txt. Я затем работал chmod 755 MyDate.sh позволить программе быть исполняемым файлом.

Затем, я добавил запись в кроне для выполнения путем выполнения crontab –e и добавил следующую строку к crontab:

40,45,50 * * * * /home/user01/MyDate.sh

Эта строка говорит крону работать MyDate.sh в 40, 45 и 50 минут каждого часа каждого дня.

После ожидания часа я посмотрел на файл /tmp/MyDate.txt, и я видел, что MyDate.sh действительно работал в назначенные времена. Первые две записи были с двух раз, что я вручную запустил программу.


Исходный ответ с апреля 2018

Ответ Суперпользователя, что возвраты поиска Google устарели. Microsoft оказала собственному фону поддержку задачи WSL и услуги по запуску. Это 4 декабря 2017 обвиняет, описывает, как настроить его.


Сценарий крона

Ваш cron сценарий содержит эту строку:

@reboot . sudo ./xmr-stak-cpu
  • Я не уверен что первое . как предполагается, делает. Я думаю, что это должно быть удалено.
  • sudo не требуется потому что crontab -e задания, выполненные как корень во-первых.
  • Команда ./xmr-stak-cpu должно быть что-то как /usr/local/bin/xmr-stak-cpu или /home/<your name>/bin/xmr-stak-cpu.
1
ответ дан 23 November 2019 в 07:59

WSL не может выполнить истинные сервисы без дополнительной поддержки со стороны и конфигурации хост-системы Windows, потому что это испытывает недостаток в “init” демоне среди других подсистем и функций, которые имеют все полностью оперенные системы Linux. Такие различия находятся вне темы здесь на, Спрашивает Ubuntu, но Вы можете спросить относительно нашего Суперпользователя родственного сайта.

3
ответ дан 23 November 2019 в 07:59

Другие вопросы по тегам:

Похожие вопросы: