This commit is contained in:
2023-07-18 01:11:42 +08:00
parent 6448bd8709
commit 5fbc3082c7
45 changed files with 516 additions and 666 deletions

View File

@@ -1,12 +0,0 @@
---
slug: first-blog-post
title: First Blog Post
authors:
name: Gao Wei
title: Docusaurus Core Team
url: https://github.com/wgao19
image_url: https://github.com/wgao19.png
tags: [hola, docusaurus]
---
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

View File

@@ -1,44 +0,0 @@
---
slug: long-blog-post
title: Long Blog Post
authors: endi
tags: [hello, docusaurus]
---
This is the summary of a very long blog post,
Use a `<!--` `truncate` `-->` comment to limit blog post size in the list view.
<!--truncate-->
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque elementum dignissim ultricies. Fusce rhoncus ipsum tempor eros aliquam consequat. Lorem ipsum dolor sit amet

View File

@@ -1,20 +0,0 @@
---
slug: mdx-blog-post
title: MDX Blog Post
authors: [slorber]
tags: [docusaurus]
---
Blog posts support [Docusaurus Markdown features](https://docusaurus.io/docs/markdown-features), such as [MDX](https://mdxjs.com/).
:::tip
Use the power of React to create interactive blog posts.
```js
<button onClick={() => alert('button clicked!')}>Click me!</button>
```
<button onClick={() => alert('button clicked!')}>Click me!</button>
:::

Binary file not shown.

Before

Width:  |  Height:  |  Size: 94 KiB

View File

@@ -1,25 +0,0 @@
---
slug: welcome
title: Welcome
authors: [slorber, yangshun]
tags: [facebook, hello, docusaurus]
---
[Docusaurus blogging features](https://docusaurus.io/docs/blog) are powered by the [blog plugin](https://docusaurus.io/docs/api/plugins/@docusaurus/plugin-content-blog).
Simply add Markdown files (or folders) to the `blog` directory.
Regular blog authors can be added to `authors.yml`.
The blog post date can be extracted from filenames, such as:
- `2019-05-30-welcome.md`
- `2019-05-30-welcome/index.md`
A blog post folder can be convenient to co-locate blog post images:
![Docusaurus Plushie](./docusaurus-plushie-banner.jpeg)
The blog supports tags as well!
**And if you don't want a blog**: just delete this directory, and use `blog: false` in your Docusaurus config.

View File

@@ -15,3 +15,9 @@ slorber:
title: Docusaurus maintainer
url: https://sebastienlorber.com
image_url: https://github.com/slorber.png
lxy:
name: 绝尘
title: 软件工程师
url: https://gitee.com/tc608
image_url: https://img.1216.top/art/u93.png

51
blog/system-keep-live.md Normal file
View File

@@ -0,0 +1,51 @@
---
slug: using-systemd-to-keep-a-program-running
title: "使用 Systemd 保持 Linux 系统中的程序长时间保活"
authors: lxy
tags: [ Linux, Systemd ]
---
假设我们有一个可执行程序 `app.sh`(类比 Windows 下的 `app.exe`),我们想用 systemd 进行管理,并保证其在任何情况下都能够保活。下面是具体步骤:
1. 编写 systemd 服务管理配置文件 `/opt/app/app.service`
`[Unit]` 段落中编写一个描述性语句,让人们了解你正在管理什么。在 `[Service]` 段落中定义服务的各个参数:
- `Type=forking` 表示当该服务启动时systemd 假定它会再派生出一个子进程(即父子进程)。这是最常见的 service 类型。
- `ExecStart=` 定义将要启动的可执行程序路径。
- `ExecReload=` 定义重新加载服务时要运行的命令或脚本。
- `Restart=` 当服务失败时自动重启,`always` 是指总是重启,其他选项为 `on-failure``never`
- `WantedBy=multi-user.target` 将这个服务加入启动所需的目标之一。在多用户系统中,`multi-user.target`
是把计算机带到用户登录界面的主要目标。
示例配置如下:
```shell
[Unit]
Description=app daemon
[Service]
Type=forking
ExecStart=/opt/app/app.sh
ExecReload=/opt/app/app.sh
Restart=always
[Install]
WantedBy=multi-user.target
```
2. 将服务管理配置文件做软链接到 `/usr/lib/systemd/system/` 目录下。
通过软链接可以方便地维护服务管理配置文件。示例命令如下:
```shell
ln -s /opt/app/app.service /usr/lib/systemd/system/app.service
```
3. 将 `app.service` 加入系统开机自启动。
```shell
systemctl enable app.service
```
4. 启动程序。
```shell
systemctl start app
```
到此为止,原本的可执行程序 `app.sh` 就已经被 systemd 管理,并保证其在任何情况下都能够保活。