<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Background Service on Margrop Blog</title>
    <link>https://blog.margrop.net/en/tag/background-service/</link>
    <description>Recent content in Background Service on Margrop Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-US</language>
    <lastBuildDate>Sat, 27 Jun 2026 17:12:00 +0800</lastBuildDate>
    <atom:link href="https://blog.margrop.net/en/tag/background-service/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>macOS 26 Boot Daemons: Put frp and EasyTier in LaunchDaemons, Not Login Items</title>
      <link>https://blog.margrop.net/en/post/macos-26-launchdaemon-boot-service-frp-easytier/</link>
      <pubDate>Sat, 27 Jun 2026 17:12:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/macos-26-launchdaemon-boot-service-frp-easytier/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Short version&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;If you want &lt;code&gt;frp&lt;/code&gt;, &lt;code&gt;EasyTier&lt;/code&gt;, a sync agent, a collector, a bot, or a proxy daemon to start automatically on macOS 26, the key is not “where can I hide this command?” The key is “which native service manager owns its lifecycle?” This article is about unattended background services, not ordinary desktop login apps.&lt;/p&gt;&#xA;&lt;p&gt;On macOS 26, a daemon that must start before user login belongs in /Library/LaunchDaemons. Login items and LaunchAgents are tools opened after a person enters the room. LaunchDaemons are more like the building&amp;rsquo;s elevator or water pump: they should run as the machine comes up.&lt;/p&gt;&#xA;&lt;p&gt;I will show two paths: &lt;strong&gt;manual configuration&lt;/strong&gt;, for understanding every moving part, and &lt;strong&gt;agent / one-click automation&lt;/strong&gt;, for cases where you already know where the binary and config file live. The scripts are self-contained, use built-in OS mechanisms, do not download third-party wrappers, and do not include real addresses, hostnames, private domains, or secrets.&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>Windows 11/10 Background Autostart: Run frp and EasyTier Unattended Without Third-Party Wrappers</title>
      <link>https://blog.margrop.net/en/post/windows-11-10-background-service-autostart-frp-easytier/</link>
      <pubDate>Sat, 27 Jun 2026 17:11:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/windows-11-10-background-service-autostart-frp-easytier/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Short version&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;If you want &lt;code&gt;frp&lt;/code&gt;, &lt;code&gt;EasyTier&lt;/code&gt;, a sync agent, a collector, a bot, or a proxy daemon to start automatically on Windows 11/10, the key is not “where can I hide this command?” The key is “which native service manager owns its lifecycle?” This article is about unattended background services, not ordinary desktop login apps.&lt;/p&gt;&#xA;&lt;p&gt;On Windows, the first decision is whether the executable is a real Windows Service. Common command-line daemons such as frp and EasyTier are usually better handled by Task Scheduler at system startup, because it is built in and does not require NSSM, WinSW, or another wrapper.&lt;/p&gt;&#xA;&lt;p&gt;I will show two paths: &lt;strong&gt;manual configuration&lt;/strong&gt;, for understanding every moving part, and &lt;strong&gt;agent / one-click automation&lt;/strong&gt;, for cases where you already know where the binary and config file live. The scripts are self-contained, use built-in OS mechanisms, do not download third-party wrappers, and do not include real addresses, hostnames, private domains, or secrets.&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
    <item>
      <title>Ubuntu 26.04 Boot Services Done Right: Let systemd Run frp and EasyTier for You</title>
      <link>https://blog.margrop.net/en/post/ubuntu-2604-systemd-boot-service-frp-easytier/</link>
      <pubDate>Sat, 27 Jun 2026 17:10:00 +0800</pubDate>
      <guid>https://blog.margrop.net/en/post/ubuntu-2604-systemd-boot-service-frp-easytier/</guid>
      <description>&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Short version&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;If you want &lt;code&gt;frp&lt;/code&gt;, &lt;code&gt;EasyTier&lt;/code&gt;, a sync agent, a collector, a bot, or a proxy daemon to start automatically on Ubuntu 26.04, the key is not “where can I hide this command?” The key is “which native service manager owns its lifecycle?” This article is about unattended background services, not ordinary desktop login apps.&lt;/p&gt;&#xA;&lt;p&gt;On Ubuntu 26.04, the standard answer for a background daemon is not a shell startup hack. It is a systemd unit. systemd can wait for the network, start the process before login, collect logs, restart on failure, and stop it in order during shutdown.&lt;/p&gt;&#xA;&lt;p&gt;I will show two paths: &lt;strong&gt;manual configuration&lt;/strong&gt;, for understanding every moving part, and &lt;strong&gt;agent / one-click automation&lt;/strong&gt;, for cases where you already know where the binary and config file live. The scripts are self-contained, use built-in OS mechanisms, do not download third-party wrappers, and do not include real addresses, hostnames, private domains, or secrets.&lt;/p&gt;&#xA;&lt;/blockquote&gt;</description>
    </item>
  </channel>
</rss>
