Nohup은 WSL2에서 Windows 구문을 사용할 수 없습니다.

Nohup은 WSL2에서 Windows 구문을 사용할 수 없습니다.

다음과 같이 OneDrive에서 Tiddlywiki를 실행하고 있습니다.이것지도 시간.

WSL2에서 이것을 실행하고 있습니다.

cd /mnt/c/Users/mobil/OneDrive/node && nohup cmd.exe /c tiddlywiki.cmd mynewwiki --listen

이전 Linux 설치에서는 이것을 실행해야 했지만 어떤 이유로 새 Linux 설치에서는 작동하지 않습니다.

cd /mnt/c/Users/mobil/OneDrive/node && nohup tiddlywiki mynewwiki --listen

Tiddlywiki가 시작되지만 nohup이 새 명령으로 제대로 작동하지 않습니다("nohup: 입력을 무시하고 'nohup.out'에 출력을 추가합니다."). 터미널을 닫으면 프로세스가 중지됩니다. 이유는 무엇입니까?

노드 폴더에 있으면 Tiddlywiki 버전이 표시됩니다.

./node.exe node_modules/tiddlywiki/tiddlywiki.js --version

lantos@DESKTOP-259UMQ1:~$ ls -l /mnt/c/Users/mobil/OneDrive/node
total 61088
-rwxrwxrwx 1 lantos lantos    56507 Oct  9 20:30 CHANGELOG.md
-rwxrwxrwx 1 lantos lantos    88859 Oct  9 20:30 LICENSE
-rwxrwxrwx 1 lantos lantos    35474 Oct  9 20:30 README.md
-rwxrwxrwx 1 lantos lantos      334 Oct  9 20:30 corepack
-rwxrwxrwx 1 lantos lantos      218 Oct  9 20:30 corepack.cmd
-rwxrwxrwx 1 lantos lantos     3033 Oct  9 20:30 install_tools.bat
drwxrwxrwx 1 lantos lantos      512 Jan  9 17:45 mynewwiki
-rwxrwxrwx 1 lantos lantos 62283384 Oct  9 20:30 node.exe
-rwxrwxrwx 1 lantos lantos    10630 Oct  9 20:30 node_etw_provider.man
drwxrwxrwx 1 lantos lantos      512 Jan  9 17:45 node_modules
-rwxrwxrwx 1 lantos lantos      702 Oct  9 20:30 nodevars.bat
-rwxrwxrwx 1 lantos lantos    39771 Jan 18 13:35 nohup.out
-rwxrwxrwx 1 lantos lantos     1365 Oct  9 20:30 npm
-rwxrwxrwx 1 lantos lantos      483 Oct  9 20:30 npm.cmd
-rwxrwxrwx 1 lantos lantos     1567 Oct  9 20:30 npx
-rwxrwxrwx 1 lantos lantos      539 Oct  9 20:30 npx.cmd
-rwxrwxrwx 1 lantos lantos      336 Oct  9 20:37 tiddlywiki
-rwxrwxrwx 1 lantos lantos      339 Oct  9 20:37 tiddlywiki.cmd
-rwxrwxrwx 1 lantos lantos      861 Oct  9 20:37 tiddlywiki.ps1
lantos@DESKTOP-259UMQ1:~$ cat /mnt/c/Users/mobil/OneDrive/node/tiddlywiki.cmd
@ECHO off
GOTO start
:find_dp0
SET dp0=%~dp0
EXIT /b
:start
SETLOCAL
CALL :find_dp0

IF EXIST "%dp0%\node.exe" (
  SET "_prog=%dp0%\node.exe"
) ELSE (
  SET "_prog=node"
  SET PATHEXT=%PATHEXT:;.JS;=;%
)

endLocal & goto #_undefined_# 2>NUL || title %COMSPEC% & "%_prog%"  "%dp0%\node_modules\tiddlywiki\tiddlywiki.js" %*
lantos@DESKTOP-259UMQ1:~$

답변1

모두 노드 폴더(/mnt/c/Users/mobil/OneDrive/node)에서 실행되는 몇 가지 솔루션을 찾았습니다.

Win Powershell에서(또는 tiddlywiki 파일 바로가기 명령에서):

powershell -windowstyle hidden ./tiddlywiki.cmd mynewwiki --listen

Linux(WSL2, Ubuntu) 명령줄에서:

nohup ./node.exe node_modules/tiddlywiki/tiddlywiki.js mynewwiki --listen &

(끝의 앰퍼샌드는 사실 불필요하다고 생각합니다.)

둘 다 테스트를 거쳐 작동합니다.

설치가 정확합니다. 좀 더 구체적인 구문이 필요합니다. 이는 Windows 바이너리에서 실행되고 있으며 Windows에서 노드 OneDrive 폴더를 만들었습니다. Linux 바이너리가 있는 경우 다른 구문이 필요합니다. 그렇죠?

내 OneDrive에 어떤 바이너리가 있는지에 관계없이 구문을 조정해야 합니다. 그렇죠? 동시에 두 개의 바이너리를 가질 수 없다고 생각합니다. 아니면 이것이 의미가 있습니까?

관련 정보