尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

让torlink 7x24小时不停机:终端种子下载的--daemon后台化、tmux attach持久会话与自更新指南

让torlink 7x24小时不停机:终端种子下载的--daemon后台化、tmux attach持久会话与自更新指南 让torlink 7x24小时不停机终端种子下载的--daemon后台化、tmux attach持久会话与自更新指南【免费下载链接】torlink A sleek, zero-setup torrent finder and downloader that lives right in your terminal.项目地址: https://gitcode.com/gh_mirrors/tor/torlinktorlink 是一款零配置、直接跑在终端里的种子torrent搜索与下载工具输入关键词即可同时查询多个可信源选中即下载到本机完成后默认继续做种。把 torlink 放到服务器或 NAS 上长期值守时最怕的就是「人一走任务就停」。本文带你用 3 个内置能力实现 7x24 小时不停机--daemon一键后台化、torlnk attach的 tmux 持久会话以及torlnk update自更新并自动重启守护进程。为什么种子下载需要 7x24 小时后台运行做种需要时间下载完成后 torlink 默认继续做种帮下一个下载者——做种越久贡献越大下载任务长大体积种子经常要跑数小时SSH 会话一断前台进程就没了软件要常新长期运行的工具需要低成本的升级路径还要能自动把运行中的进程切到新代码上。torlink 针对这三点分别给出了--daemon、attach、update三个内置方案不需要你手写 nohup、crontab 或 systemd 配置。一键后台化--daemon 参数详解torlink 的无头headless子命令watch、seed、serve、files都支持--daemon完整说明见 src/cli/args.ts 的帮助文本。加上这个参数后torlink 会把自己 fork 成一个脱离终端的独立会话进程父进程立刻退出——你直接关掉 SSH 也不影响实现见 src/daemon/daemonize.ts。watch 模式丢文件进目录自动下载并做种torlnk watch ~/torrents --daemon之后把.torrent文件或包含磁力链的.txt丢进~/torrents后台进程会自动下载并继续做种处理完的文件会移入.processed目录。serve 模式用 HTTP 接口投喂磁力链torlnk serve --port 9161 --daemon默认监听127.0.0.1:9161POST /add {magnet:magnet:?xt...}排队下载GET /downloads查看进度GET /health探活。files子命令默认 9160 端口则把已下载完的文件以 HTTP 流式播放给浏览器或播放器。启动后你会看到什么启动成功时终端会打印进程号、日志路径和停止命令torlink watch daemon started (pid 12345). logs: ~/.local/share/torlink/logs/watch.log stop: kill 12345 (or: kill $(cat .../watch.pid))每个守护进程都会生成自己的.log、.pid和.run.json运行描述符记录了当初的完整命令供自更新时原样重启使用。看日志、查进程、停止只要 3 条命令tail -f ~/.local/share/torlink/logs/watch.log # 实时日志 cat ~/.local/share/torlink/logs/watch.pid # 查看进程号 kill $(cat ~/.local/share/torlink/logs/watch.pid) # 停止守护进程tmux attach 持久会话断开 SSH 后下载不中断--daemon面向无头命令而交互式 TUI 界面有自己的持久化方案torlnk attach。它把 torlink 跑进一个名为torlink的 tmux 会话实现见 src/daemon/attach.ts内部就是tmux new-session -A -s torlink执行torlnk attach会话不存在就创建并打开 TUI已存在则直接接回按ctrl-b d把会话「detach」到后台下载与做种继续进行放心退出 SSH回来后在任意终端再执行一次torlnk attach界面、进度条、任务列表原样恢复。前提机器上装有 tmux。未安装时会明确提示临时使用也可以直接前台运行torlnk。怎么选无界面的服务器/seedbox 用--daemonwatch/serve 等想保留完整 TUI搜索、进度、Seeding 标签页就用attach。两者可以叠加tmux 里跑 TUI后台再挂一个serve --daemon供其他设备投喂磁力链。自更新机制torlnk update 如何无缝重启守护进程长期运行的软件最尴尬的是「升级了但后台进程还是旧代码」。torlink 的自更新src/update/run.ts把它做成三步比对版本查询 npm registry 上的最新发布版本并与本地比较src/update/version.ts已是最新就直接结束按安装方式升级git 检出走 pull 依赖安装 构建全局 npm 安装走npm i -g由 nix 等包管理器托管的安装会自动跳过并提示去对应渠道更新重启守护进程读取.run.json运行描述符向旧进程发 SIGTERM最多等待 10 秒优雅退出再用原命令拉起新进程。如果旧进程迟迟不退出比如正在断开大量做种连接宁可跳过也不会同时起两个避免端口与状态文件冲突见 src/daemon/restart.ts。torlnk update # 有新版本升级并自动重启所有 --daemon 进程 torlnk update --force # 已是最新也强制重装、重建并重启升级失败时「什么都不重启」不会留下半新半旧的后台进程。更稳的进阶systemd 用户级服务--daemon的定位是「无 systemd 的便捷路径」源码注释也这样说明。如果你的机器有 systemdsystemctl --user服务 linger 能提供更强的保障开机自启、崩溃自动拉起。做法很简单——写一个用户服务ExecStart指向torlnk watch 目录再执行loginctl enable-linger 用户名服务即可在你未登录时运行。另外给长任务加--seed-time如--seed-time 1d控制做种时长可配合--delete-files到时自动清理文件避免磁盘被长期做种占满。常见问题 FAQQ--daemon 的进程怎么知道自己在后台A父进程 fork 时打上TORLINK_DAEMONIZED环境标记子进程带着同一命令继续运行pid、日志、运行描述符都写在数据目录的logs/下src/config/paths.tsLinux 上通常是~/.local/share/torlink/logs/。Qupdate 会不会把下载中断了A会短暂重启并自动恢复——守护进程起来后无头运行时按与 TUI 相同的顺序重新加载队列、历史与做种状态src/daemon/runtime.ts任务从中断处继续队列本身还有持久化文件兜底。Q没有 tmux 能用 attach 吗A不能。attach 依赖 tmux 完成 detach/reattach未安装时会明确报错先安装 tmux 即可。小结场景命令效果无头服务器下载/做种torlnk watch 目录 --daemon脱离终端运行日志落盘HTTP 投喂磁力链torlnk serve --daemon后台常驻/add即下交互式 TUI 持久化torlnk attachtmux 会话断线可重连升级并重启守护进程torlnk update自动重启所有 --daemon 进程组合起来就是一台 7x24 小时在线的种子小站attach随时接管操作--daemon让任务不随会话消失update保证代码常新。【免费下载链接】torlink A sleek, zero-setup torrent finder and downloader that lives right in your terminal.项目地址: https://gitcode.com/gh_mirrors/tor/torlink创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表