Golang Slice Shuffle

使用 rand 包提供的 Shuffle 方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package main

import (
"fmt"
"math/rand"
"strings"
)

func main() {
words := strings.Fields("ink runs from the corners of my mouth")
rand.Shuffle(len(words), func(i, j int) {
words[i], words[j] = words[j], words[i]
})
fmt.Println(words)

}
查看全文
Systemd 配置

自动重启配置

自动重启主要依赖三个配置参数,分别是 Restart、 StartLimitIntervalSec 和 StartLimitBurst。

Restart

  • no:不会重启
  • on-success:正常退出时重启
  • on-failure:非正常退出时重启
  • on-abnormal:被信号终止或超时时重启
  • on-watchdog
  • on-abort
  • always:只要退出就重启

频率限制

StartLimitIntervalSec 用于指定一个重启间隔,默认为 10。StartLimitBurst 指在上述重启间隔内进程最多重启的次数。

示例

综合以上三个参数,给出的示例配置如下:

1
2
3
StartLimitInterval=14400
StartLimitBurst=10
Restart=on-failure

代表 14400 秒内最多允许进程重启十次,当非正常退出时重启。

查看全文
常用 Linux 命令(持续更新)

查看端口监听

1
netstat -nlp

查看进程

1
ps -aux

连接 postgresql

1
psql -h 127.0.0.1 -p 5432 -U user -d dbname

连接 redis

1
redis-cli -h 127.0.0.1 -p 6379 -a "password"

安装 Docker

1
curl -fsSL https://get.docker.com -o get-docker.sh | sh get-docker.sh
查看全文

本站文章使用 CC BY-NC-SA 4.0 许可证