You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux终端如何同时运行两个进程?实现不同目录同时启动React应用与Apollo服务

Linux终端同时运行React前端与Apollo服务端的解决方案

以下是3种常用的实现方案,可根据自身使用场景选择:

方案1:进程后台挂载(无需额外工具)

直接通过Shell内置的后台运行符实现,操作步骤如下:

  • 进入apollo前端目录,执行以下命令将前端进程放入后台运行:
    yarn start &
    
    命令末尾的&表示将进程转入后台执行,执行后会返回进程PID,后续可通过该PID管理进程。
  • 保持当前终端不关闭,执行cd server进入服务端目录,同样后台启动服务端:
    yarn dev &
    
  • 常用管理命令:
    • 查看当前终端所有后台进程:jobs
    • 将后台进程切回前台(如查看日志、终止进程):fg %进程编号(进程编号为jobs命令输出的序号,不是PID)
    • 直接终止后台进程:kill %进程编号
  • 如果需要避免日志刷屏,可将输出重定向到日志文件,示例:
    yarn start > frontend.log 2>&1 &
    
  • 如果需要退出终端后进程仍持续运行,在命令前加nohup即可:
    nohup yarn start &
    

方案2:终端多路复用工具(可同时查看双端日志)

适合需要实时查看两个进程输出日志的开发场景,常用工具为tmux,操作步骤如下:

  • 若未安装tmux,先执行对应系统的安装命令,Debian/Ubuntu系示例:
    sudo apt update && sudo apt install tmux
    
  • 执行tmux启动tmux会话
  • 在第一个窗口中进入apollo目录,执行yarn start启动前端
  • 按下ctrl + b后松开,再按c新建一个tmux窗口,在新窗口中进入server目录,执行yarn dev启动服务端
  • 切换窗口操作:按下ctrl + b后松开,再按p切到上一个窗口、按n切到下一个窗口,按下对应窗口数字可直接跳转到指定窗口
  • 需终止进程时,切到对应窗口按下ctrl + c即可

方案3:concurrently统一管理(开发场景最推荐)

通过npm包concurrently实现单命令启动双进程,自动区分日志前缀,统一终止,操作步骤如下:

  • 进入apollo根目录,安装concurrently为开发依赖:
    yarn add -D concurrently
    
  • 打开根目录的package.json文件,在scripts字段中添加统一启动脚本:
    {
      "scripts": {
        // 保留原有其他脚本
        "start:all": "concurrently \"yarn start\" \"cd server && yarn dev\""
      }
    }
    
  • 后续直接执行yarn start:all即可同时启动前后端,日志会自动带前缀区分,按下ctrl + c会同时终止两个进程。

内容的提问来源于stack exchange,提问作者ny195

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 00:36:04