问题描述
SO 我有一个 BSD 服务器并且想要托管一个 minecraft BungeeCoord 服务器。问题是服务器文件位于不同的目录中 例如:/home/name/bungee/servers/Survival/start.sh AND /home/name/bungee/servers/大厅/start .sh
简单说一下,我想这样做的原因是因为 BSD 服务器一次只能接收 1 个文件,比如 shell/终端。
编辑:我最终使用的命令是 screen
解决方法
按最低到最高级排序
示例 1
sh /home/name/bungee/servers/Survival/start.sh &
sh /home/name/bungee/servers/Lobby/start.sh &
&
将进程作为后台作业运行,释放终端 (STDIN
) 尽管不是 STDOUT
和 STDERR
流,这意味着输出仍会进入终端
使用 ksh(1)
的 jobs(1) 命令(OpenBSD 默认 shell)来查看那些由你的 shell 之后可以控制的作业
示例 2
cd
路径变短之后
cd /home/name/bungee/servers
sh ./Survival/start.sh &
sh ./Lobby/start.sh &
您还可以使用 shell 的重定向功能将两个输出重定向到文件而不是屏幕,例如 > output.log 2>&1
示例 3
使用多个(虚拟)终端? (ctrl+alt+f1 和 ctrl+alt+f2 ) 分别登录,然后按 tty(4)
启动一个脚本示例 4
使用诸如IPC::Cmd之类的编程语言库通过run_forked函数分叉进程