使用 shell 脚本在系统启动时启动 pm2 进程
start pm2 processes on system boot using a shell script
我正在研究如何编写一个 SHELL 脚本:
- 将工作目录更改为目录
path/to/dir/A
- 然后获取目录
path/to/dir/A/X
中的所有".js"
文件
- 并使用此命令对它们一一进行迭代
"pm2 start {files in directory A}"
我是 SHELL 脚本的新手,欢迎任何帮助。
补充一下,这些文件是用于启动不同进程的 pm2 配置文件。每个进程都有自己的文件。因此需要遍历所有这些。
DIR="A"
cd "$DIR";
ls "$DIR/*.js" >/tmp/list
(while read f; do
pm2 start "$DIR/$f"
done) </tmp/list
rm /tmp/list
我不确定问题中的 X
是什么,但看到您如何接受了忽略 X
的答案,这是我的解决方案:
for fname in /path/to/A/*.js; do
pm2 start "$fname"
done
这只是遍历一个 glob 扩展到 A
中的所有 .js
个文件并在它们上运行 pm2 start
。
如果进程需要 从特定目录启动,您必须cd
进入该目录。编辑问题后:
cd /path/to/A
for fname in X/*.js; do
pm2 start "$fname"
done
我正在研究如何编写一个 SHELL 脚本:
- 将工作目录更改为目录
path/to/dir/A
- 然后获取目录
path/to/dir/A/X
中的所有 - 并使用此命令对它们一一进行迭代
"pm2 start {files in directory A}"
".js"
文件
我是 SHELL 脚本的新手,欢迎任何帮助。 补充一下,这些文件是用于启动不同进程的 pm2 配置文件。每个进程都有自己的文件。因此需要遍历所有这些。
DIR="A"
cd "$DIR";
ls "$DIR/*.js" >/tmp/list
(while read f; do
pm2 start "$DIR/$f"
done) </tmp/list
rm /tmp/list
我不确定问题中的 X
是什么,但看到您如何接受了忽略 X
的答案,这是我的解决方案:
for fname in /path/to/A/*.js; do
pm2 start "$fname"
done
这只是遍历一个 glob 扩展到 A
中的所有 .js
个文件并在它们上运行 pm2 start
。
如果进程需要 从特定目录启动,您必须cd
进入该目录。编辑问题后:
cd /path/to/A
for fname in X/*.js; do
pm2 start "$fname"
done