0%

linux系统下,进程对信号的默认响应方式有5种:

1) 忽略信号,即当做没收到信号一样;

2) 终止进程;

3) 产生核心转储文件,同时进程终止;

4) 停止进程,即暂停进程的执行;

5) 于之前的暂停之后恢复执行;

处理方式2和3都会导致进程终止执行并立即退出,处理方式1、4、5不会造成进程终止执行。

因此,可以将信号粗略的分为两类,一类是会导致进程终止并退出的信号;另一类则是不会导致进程终止并退出的信号。

当进程因收到信号被终止执行退出后,父进程可以通过调用wait或waitpid得到它的exit code。

进程被各信号终止的退出状态码总结如下:

信号编号信号名称信号描述默认处理方式Exit code
1SIGHUP挂起终止1
2SIGINT终端中断终止2
3SIGQUIT终端退出终止、core dump131
4SIGILL非法指令终止、core dump132
5SIGTRAP跟踪/断点陷阱终止、core dump133
6SIGABRT终止进程终止、core dump134
7SIGBUSBus error终止、core dump135
8SIGFPE算术异常终止、core dump136
9SIGKILL杀死进程(必杀)终止9
10SIGUSR1用户自定义信号1终止10
11SIGSEGV段错误终止、core dump139
12SIGUSR2用户自定义信号2终止12
13SIGPIPE管道断开终止13
14SIGALRM定时器信号终止14
15SIGTERM终止进程终止15
16SIGSTKFLT栈错误终止16
17SIGCHLD子进程退出忽略
18SIGCONT继续执行若停止则继续执行
19SIGSTOP停止执行(必停)暂停执行
20SIGTSTP停止暂停执行
21SIGTTINStopped (tty input)暂停执行
22SIGTTOUStopped (tty out put)暂停执行
23SIGURGio紧急数据忽略
24SIGXCPU突破对cpu时间的限制终止、core dump152
25SIGXFSZ突破对文件大小的限制终止、core dump153
26SIGVTALRM虚拟定时器超时终止26
27SIGPROF性能分析定时器超时终止27
28SIGWINCH终端窗口尺寸发生变化忽略
29SIGIOio时可能产生终止29
30SIGPWR电量行将耗尽终止30
31SIGSYS错误的系统调用终止、core dump159
34~64SIGRTMIN~SIGRTMAX实时信号终止34~64

进一步总结如下:

  1. 能使进程被终止执行并产生core dump的信号,它的退出状态码是信号编号+128,比如SIGQUIT信号,它的编号为3,进程收到该信号后会core dump,退出状态码为3+128=131;

  2. 只是使进程被终止,而不会产生core dump的信号,它的退出状态码就是信号本身的编号。

/usr/lib/systemd/system/meteor.service
[Unit]
Description=This is a service.
After=network.target

[Service]
Type=forking
User=root
WorkingDirectory=/usr/local/kyubi/kyubi_main
Restart=on-failure
# 重启间隔,服务异常退出后,等待多少秒再启动
RestartSec=30s
# 限制启动间隔,当为0时,表示不限重启次数
StartLimitInterval=0
RestartPreventExitStatus=SIGKILL
ExecStart=/bin/sh 启动命令
ExecStop=/bin/sh 停止命令

[Install]
WantedBy=multi-user.target

☕Java


https://github.com/EsotericSoftware/kryo
Kryo 是一个快速高效的 Java 二进制对象图序列化框架。该项目的目标是高速、小尺寸和易于使用的 API。该项目在任何需要持久化对象的时候都很有用,无论是保存到文件、数据库还是通过网络。


https://poi.apache.org/components/index.html
Apache POI 项目是开发基于 Microsoft 的 OLE 2 复合文档格式的文件格式的纯 Java 端口的主项目。 Microsoft Office Documents 以及使用 MFC 属性集序列化其文档对象的程序都使用 OLE 2 复合文档格式。
Apache POI 也是开发基于Office Open XML (ooxml) 的文件格式的纯Java 端口的主项目。 OOXML 是 ECMA/ISO 标准化工作的一部分。该文档相当大,但您通常可以毫不费力地找到所需的内容! ECMA-376 标准在这里,并且也在 Microsoft OSP 之下。


https://site.mockito.org/#intro
https://github.com/mockito/mockito
Mockito 是一个用于 Java 单元测试的模拟框架。它被设计为在测试需要模拟时使用直观。


http://sikulix.com/
https://raiman.github.io/SikuliX1/downloads.html
https://github.com/RaiMan/SikuliX1
SikuliX 可以自动化您在运行 Windows、Mac 或某些 Linux/Unix 的台式计算机屏幕上看到的任何内容。它使用由 OpenCV 提供支持的图像识别来识别 GUI 组件。如果无法轻松访问 GUI 的内部结构或要操作的应用程序或网页的源代码,这将非常方便。


https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98
https://github.com/drtrang/druid-spring-boot/blob/master/druid-spring-boot-example/druid-spring-boot-mybatis-example/src/main/resources/application.yml
https://github.com/drtrang/druid-spring-boot/blob/master/druid-spring-boot-example/druid-spring-boot-mybatis-example/src/main/resources/druid.yml
Druid是Java语言中最好的数据库连接池。Druid能够提供强大的监控和扩展功能。


https://github.com/alibaba/Sentinel/wiki/%E4%B8%BB%E9%A1%B5
https://github.com/alibaba/spring-cloud-alibaba/wiki/Sentinel
Sentinel 是面向分布式服务架构的流量控制组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。

⚡Javascript


http://momentjs.cn/docs/#/parsing/
Moment JavaScript日期处理类库

https://echarts.apache.org/zh/option.html#title
Echarts 一个基于 JavaScript 的开源可视化图表库

http://mikemcl.github.io/big.js/
Big.js 用于任意精度十进制算术的小型、快速、易于使用的库。

https://mikemcl.github.io/decimal.js/
decimal.js 功能同上

https://socket.io/
Socket.IO 是一个库,可以在浏览器和服务器之间实现实时、双向和基于事件的通信。

https://shepherdjs.dev/
shepherdjs 引导您的用户浏览您的应用

http://llever.com/vue-scrollto-zh/
vue-scrollto 滚动元素从未如此简单!

https://api.onlyoffice.com/
OnlyOffice 文档编辑器

http://tinymce.ax-z.cn/general/basic-setup.php
TinyMCE 功能强大、所见即所得的富文本编辑器

转载:https://www.cnblogs.com/kevingrace/p/6547616.html

Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的Registry
也是非常必要的。之前介绍了Docker私有仓库Registry,这里介绍另一款企业级Docker镜像仓库Harbor的部署和使用,在Kubernetes集群中,推荐使用Harbor仓库环境。

阅读全文 »