使用 shell 脚本在系统启动时启动 pm2 进程

start pm2 processes on system boot using a shell script

我正在研究如何编写一个 SHELL 脚本:

  1. 将工作目录更改为目录 path/to/dir/A
  2. 然后获取目录path/to/dir/A/X
  3. 中的所有".js"文件
  4. 并使用此命令对它们一一进行迭代 "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