Skip to main content
版本:2.0.7

模拟进程故障

本文主要介绍如何使用 Chaosd 模拟进程故障。该功能通过使用 kill 的 Golang 接口模拟进程被终止或暂停的场景,支持通过命令行模式创建实验。

使用命令行模式创建实验

在创建进程故障实验前,可运行以下命令行查看 Chaosd 支持的进程故障类型:

chaosd attack process -h

输出结果如下所示:

Process attack related commands

Usage:
chaosd attack process [command]

Available Commands:
kill kill process, default signal 9
stop stop process, this action will stop the process with SIGSTOP

Flags:
-h, --help help for process

Global Flags:
--log-level string the log level of chaosd, the value can be 'debug', 'info', 'warn' and 'error'

Use "chaosd attack process [command] --help" for more information about a command.

目前 Chaosd 支持模拟进程被终止或暂停的故障。

模拟进程被终止

模拟进程被终止命令

chaosd attack process kill -h

输出结果如下所示:

kill process, default signal 9

Usage:
chaosd attack process kill [flags]

Flags:
-h, --help help for kill
-p, --process string The process name or the process ID
-s, --signal int The signal number to send (default 9)

Global Flags:
--log-level string the log level of chaosd, the value can be 'debug', 'info', 'warn' and 'error'

模拟进程被终止相关配置说明

配置项配置缩写说明
processp需要注入故障的进程的名字或者进程的标识符string 类型,默认为 ""
signals所提供的进程信号值int 类型,默认为 9。目前只支持 SIGKILLSIGTERMSIGSTOP 三种信号值。

模拟进程被终止示例

chaosd attack process kill -p python

输出结果如下所示:

Attack process python successfully, uid: 10e633ac-0a37-41ba-8b4a-cd5ab92099f9

模拟进程被暂停

模拟进程被暂停命令

chaosd attack process stop -h

输出结果如下所示:

stop process, this action will stop the process with SIGSTOP

Usage:
chaosd attack process stop [flags]

Flags:
-h, --help help for stop
-p, --process string The process name or the process ID

Global Flags:
--log-level string the log level of chaosd, the value can be 'debug', 'info', 'warn' and 'error'

模拟进程被暂停相关配置说明

配置项配置缩写说明
processp需要暂停的进程的名字或者进程的标识符string 类型,默认为 ""

模拟进程被暂停示例

chaosd attack process stop -p python

输出结果如下所示:

Attack process python successfully, uid: 9cb6b3be-4f5b-4ecb-ae05-51050fcd0010