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 中有哪个二进制文件,都需要调整语法,对吗?我认为我不能同时拥有两个二进制文件,或者这有意义吗?

相关内容