Dashboard
Fault Injection

Shutdown Experiment

The Shutdown experiment issues a system call to shut down or reboot the operating system on which the target is running.

Reboot Behavior

The <span class="code-class-custom">reboot</span> flag allows you to optionally tell Gremlin to "restart" target systems instead of shutting them down. Gremlin does not perform any validation upon target system startup after issuing a reboot. It's possible target systems never actually start back up due to the constraints within which they run. For example, issuing a <span class="code-class-custom">reboot</span> against target containers may trigger those containers to be reaped. This is common behavior in Kubernetes.

Linux

The Shutdown experiment issues a <span class="code-class-custom">reboot</span> Linux syscall. See: reboot(2)

When this experiment is run against a host, this syscall behaves just as if you issued a <span class="code-class-custom">reboot</span> from the command line. It is considered a graceful shutdown in that it will issue a <span class="code-class-custom">SIGTERM</span> to all running processes, giving them a chance to terminate cleanly.

When this experiment is run against a container, otherwise known as a nested PID namespace, this syscall terminates the processes immediately with a <span class="code-class-custom">SIGKILL</span>. See: pid_namespaces(7)

This experiment requires the <span class="code-class-custom">SYS_BOOT</span> capability, which is enabled by default at installation time. See capabilities(7)

Windows

The Shutdown experiment issues an ExitWindowsEx API call. Before shutting down, this system call sends the WM_QUERYENDSESSION message to all applications to determine if they can be terminated.

Options

ParameterFlagRequiredDefaultVersionDescription
Delay-d intFalse10.0.1The number of minutes to delay before shutting down.
Reboot-rFalseTrue0.0.1Indicates the host should reboot after shutting down. NOTE: Gremlin does not verify that the target system starts back up.

No items found.
Previous
This is some text inside of a div block.
Compatibility
Installing the Gremlin Agent
Authenticating the Gremlin Agent
Configuring the Gremlin Agent
Managing the Gremlin Agent
User Management
Integrations
Health Checks
Notifications
Command Line Interface
Updating Gremlin
Quick Start Guide
Services and Dependencies
Detected Risks
Reliability Tests
Reliability Score
Targets
Experiments
Scenarios
GameDays
Overview
Deploying Failure Flags on AWS Lambda
Deploying Failure Flags on AWS ECS
Deploying Failure Flags on Kubernetes
Classes, methods, & attributes
API Keys
Examples
Container security
General
Linux
Windows
Chao
Helm
Glossary
Alfi
Additional Configuration for Helm
Amazon CloudWatch Health Check
AppDynamics Health Check
Application Level Fault Injection (ALFI)
Blackhole Experiment
CPU Experiment
Certificate Expiry
Custom Health Check
Custom Load Generator
DNS Experiment
Datadog Health Check
Disk Experiment
Dynatrace Health Check
Grafana Cloud Health Check
Grafana Cloud K6
IO Experiment
Install Gremlin on Kubernetes manually
Install Gremlin on OpenShift 4
Installing Gremlin on AWS - Configuring your VPC
Installing Gremlin on Kubernetes with Helm
Installing Gremlin on Windows
Installing Gremlin on a virtual machine
Installing the Failure Flags SDK
Jira
Latency Experiment
Memory Experiment
Network Tags
New Relic Health Check
Overview
Overview
Overview
Overview
Overview
Packet Loss Attack
PagerDuty Health Check
Preview: Gremlin in Kubernetes Restricted Networks
Private Network Integration Agent
Process Collection
Process Killer Experiment
Prometheus Health Check
Role Based Access Control
Running Failure Flags experiments
Scheduling Scenarios
Shared Scenarios
Shutdown Experiment
Slack
Teams
Time Travel Experiment
Troubleshooting Gremlin on OpenShift
User Authentication via SAML and Okta
Users
Webhooks
Integration Agent for Linux
Test Suites
Restricting Testing Times
Reports
Process Exhaustion Experiment
Enabling DNS collection