diff --git a/cli/src/__tests__/service-manager.test.ts b/cli/src/__tests__/service-manager.test.ts index f64a3125521..c075a178f46 100644 --- a/cli/src/__tests__/service-manager.test.ts +++ b/cli/src/__tests__/service-manager.test.ts @@ -31,6 +31,7 @@ describe("service definition generation", () => { const unit = renderSystemdUnit({ instanceId: "team-a", shimPath: "/home/alice/.local/bin/paperclipai", homeDir: "/home/alice/.paperclip" }); expect(unit).toContain("Type=notify"); expect(unit).toContain("NotifyAccess=all"); + expect(unit).toContain("KillMode=mixed"); expect(unit).toContain('ExecStart="/home/alice/.local/bin/paperclipai" run --instance "team-a"'); expect(unit).toContain("Restart=always"); expect(unit).toContain("TimeoutStopSec=300"); diff --git a/cli/src/services/service-manager.ts b/cli/src/services/service-manager.ts index 5267d5e1451..df4037b4293 100644 --- a/cli/src/services/service-manager.ts +++ b/cli/src/services/service-manager.ts @@ -134,6 +134,7 @@ StartLimitBurst=5 [Service] Type=notify NotifyAccess=all +KillMode=mixed ExecStart="${escapeSystemd(input.shimPath)}" run --instance "${escapeSystemd(input.instanceId)}" Environment="PAPERCLIP_SERVICE_MANAGED=1" Environment="PAPERCLIP_INSTANCE_ID=${escapeSystemd(input.instanceId)}"