如何解决如何从不同目录运行多个 .sh 文件 示例 1示例 2示例 3示例 4
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函数分叉进程
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。