Windows 已经在 UWP(通用 Windows 平台)下为开发人员实施了工具,这些工具可以从 Xbox 控制器中窃取按钮输入(即按钮输入将映射到特定应用程序中的自定义功能),而没有系统范围的方法可以禁用此功能。UWP 的实现在 Windows 10 操作系统中是半生不熟的,断断续续的。如果想使用第三方软件(例如 Controller Companion)将游戏手柄上的输入映射到击键和鼠标移动,这会带来双重输入的问题。如何禁用 UWP 控制器输入?
主页
/
user-1079571
jay w's questions
jay w
Asked:
2019-08-24 00:07:56 +0800 CST
我有一个在 tmux 中的 bash 内部运行的 dotnet 程序,它偶尔会因非零错误代码而失败。我正在尝试使用 systemd 服务文件以编程方式在 tmux 中启动我的 dotnet 程序。
这是服务文件:
[Unit]
Description=dotnet application
[Service]
Type=forking
ExecStart=/home/alpine_sour/scripts/rofdl
Restart=always
User=root
[Install]
WantedBy=multi-user.target
这是 rofdl shell 脚本:
#!/bin/bash
/usr/bin/tmux kill-session -t "rof" 2> /dev/null || true
/usr/bin/tmux new -s "rof" -d "cd /home/alpine_sour/rofdl && dotnet run"
现在,当我启动服务时,systemd 选择主 PID 作为 tmux 服务器,我认为这是因为它是第一个执行的命令。因此,当我在 tmux 窗口中的程序以任何错误代码退出并且没有更多窗口时,tmux 服务器以成功错误代码退出,导致 systemd 无法重新启动。即使我要重新启动=总是,tmux 服务器只会在我的程序失败并且没有其他窗口时重新启动。
Process: 24980 ExecStart=/home/alpine_sour/scripts/rofdl (code=exited, status=0/SUCCESS)
Main PID: 24984 (tmux: server)
├─24984 /usr/bin/tmux new -s rofdl -d cd /home/alpine_sour/rofdl && dotnet run -- start
├─24985 sh -c cd /home/alpine_sour/rofdl && dotnet run -- start
├─24987 dotnet run -- start
└─25026 dotnet exec /home/alpine_sour/rofdl/bin/Debug/netcoreapp2.1/rofdl.dll start
所以我想知道如何让 systemd 跟踪进程分支的最低级别而不是更高级别的 tmux 服务器。我需要一种方法来告诉 systemd 跟踪 tmux 服务器的子进程而不是服务器本身并相应地重新启动。