WSL har fået baggrundsopgavesupport
Startende med Windows 10 build 17046 har Windows Subsytem for Linux (WSL) fået understøttelse af langvarige baggrundsopgaver, svarende til hvordan Windows-undersystemet har Services. Dette er en virkelig imponerende ændring for brugere af WSL, der arbejder med servere som f.eks Apache eller apps som skærmen eller tmux. Nu kan de køre i baggrunden som almindelige Linux-dæmoner. Evnen til at køre dæmoner manglede og var stærkt efterspurgt af brugerne.
Forhøjede og ikke-forhøjede instanser
Udover dæmonunderstøttelse kan WSL nu have både forhøjede og ikke-forhøjede procesforekomster samtidigt uden at påvirke tilladelserne i andre sessioner.
Opstartsopgaver
WSL i build 17046 og nyere understøtter nu opstartsopgaver. Selvom det mangler understøttelse af klassiske Linux init-systemer som SysV eller OpenRC såvel som det moderne SystemD init-system, er det nu muligt at bygge et brugerdefineret opstartsscript eller bruge Task Scheduler.
Baggrundsopgaver i aktion
For at teste funktionen til baggrundsopgaver i aktion skal du opgradere din Insider Preview-instans til Windows 10 build 17046 og installere en app, der kan køre i baggrunden. Det kan f.eks
tmux, den virtuelle multiplexer-app.Du kan oprette en ny tmux baggrundssession med følgende kommando:
tmux new -s baggrundssession
Sessionen får blot navnet "baggrundssession".
For at sikre, at den kører i baggrunden, kan du bruge enhver procesmanager som ps eller htop. Her er htop output.
Nu kan du lukke WSL-vinduet, og opgaven forbliver kørende!
For at tjekke dette ud, skal du åbne et nyt WSL-vindue og tjekke tilgængelige tmux-sessioner med kommandoen:
tmux ls
Du vil finde din forrige session kørende:
Du kan genaktivere den med følgende kommando og fortsætte, hvor du slap.
tmux attach -t baggrundssession
Artikler af interesse:
- Aktiver WSL i Windows 10
- Indstil standardbruger til WSL i Windows 10
- Installer Linux Distros fra Microsoft Store i Windows 10
Kilde: MSDN-blogs.