<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Nohup on Chang Luo</title>
		<link>https://www.luochang.ink/tags/nohup/</link>
		<description>Recent content in Nohup on Chang Luo</description>
		<generator>Hugo</generator>
		<language>zh-CN</language>
		
		
		
		
			<lastBuildDate>Thu, 30 May 2024 00:00:00 +0000</lastBuildDate>
		
			<atom:link href="https://www.luochang.ink/tags/nohup/index.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>后台管理工具介绍</title>
				<link>https://www.luochang.ink/posts/process_manager/</link>
				<pubDate>Thu, 30 May 2024 00:00:00 +0000</pubDate>
				<guid>https://www.luochang.ink/posts/process_manager/</guid>
				<description>&lt;blockquote&gt;&#xA;&lt;p&gt;呀嘞呀嘞，我的 JupyterLab 怎么又挂了。&lt;/p&gt;&#xA;&lt;p&gt;简单的 &lt;code&gt;nohup [CMD] &amp;amp;&lt;/code&gt; 已经不够用，该研究一下后台管理工具了。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;问了一下 Qwen，大概有五款后台管理工具可用。这五款工具大致可分为两类：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;进程管理器：&lt;code&gt;systemd&lt;/code&gt;, &lt;code&gt;pm2&lt;/code&gt;, &lt;code&gt;supervisor&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;终端复用器：&lt;code&gt;screen&lt;/code&gt;, &lt;code&gt;tmux&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;总之，保持单个程序在后台运行，&lt;code&gt;systemd&lt;/code&gt; 就够用。如果要维持多个后台程序，&lt;code&gt;pm2&lt;/code&gt; 比较合适。&lt;code&gt;screen&lt;/code&gt; 和 &lt;code&gt;tmux&lt;/code&gt; 则是更临时的方案，适合偶尔用用的情况。&lt;/p&gt;&#xA;&lt;h3 id=&#34;一systemd&#34;&gt;一、systemd&lt;/h3&gt;&#xA;&lt;p&gt;使用 systemd 管理 Jupyter lab 服务，必须先创建一个 systemd unit 文件来定义服务的启动、重启等行为。以下是创建 systemd 服务的步骤。&lt;/p&gt;&#xA;&lt;h4 id=&#34;11-创建-unit-文件&#34;&gt;1.1 创建 unit 文件&lt;/h4&gt;&#xA;&lt;p&gt;用 &lt;code&gt;vi&lt;/code&gt; 新建并打开 &lt;code&gt;jupyterlab.service&lt;/code&gt; 文件：&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;sudo vi /etc/systemd/system/jupyterlab.service&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;配置如下：&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;[Unit]&#xA;Description=Jupyter Lab&#xA;After=network.target&#xA;&#xA;[Service]&#xA;Type=simple&#xA;User=[YOUR_USERNAME]&#xA;ExecStart=/home/[YOUR_USERNAME]/miniconda3/bin/jupyter lab --ip=0.0.0.0 --port=443 --no-browser --allow-root&#xA;WorkingDirectory=/home/[YOUR_USERNAME]/&#xA;Restart=on-failure&#xA;RestartSec=8s&#xA;&#xA;[Install]&#xA;WantedBy=multi-user.target&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;ul&gt;&#xA;&lt;li&gt;将 &lt;code&gt;[YOUR_USERNAME]&lt;/code&gt; 替换为你的用户名。如果你在 root 上开服务，记得在 ExecStart 后加一个 &lt;code&gt;--allow-root&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;如果你的服务不在 https 上，请用 &lt;code&gt;--port=80&lt;/code&gt; 或 &lt;code&gt;--port=8888&lt;/code&gt; 之类的其他端口&lt;/li&gt;&#xA;&lt;li&gt;在 https 上搭建 jupyter lab 服务的方法，参见 &lt;a href=&#34;https://www.luochang.ink/posts/jupyter_lab/#51-%E5%90%AF%E5%8A%A8-jupyterlab&#34; target=&#34;_blank&#34;&gt;在服务器上使用 JupyterLab&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;12-启动服务&#34;&gt;1.2 启动服务&lt;/h4&gt;&#xA;&lt;p&gt;1）重启守护进程，使新增的 systemd unit 文件生效。&lt;/p&gt;</description>
			</item>
	</channel>
</rss>
