# Cedana Daemon

<figure><img src="https://21158892-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSu8hW4oAhjiIohf3AFfl%2Fuploads%2Fgit-blob-2c9f97a9749801bbc2dc36c09f188b6f869160e3%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

Here, you will find information on running the Cedana daemon on your machine, system architecture, and the various features of both the daemon and CLI.

The daemon is designed to manage the lifecycle of processes/containers, including checkpoint/restore, in the larger Cedana system. However, it can be installed and used independently as a checkpoint/restore tool with its convenient defaults and a friendly command-line interface.

{% hint style="info" %}
For detailed documentation on our managed Kubernetes or the larger Cedana system, please see [here](https://docs.cedana.ai).
{% endhint %}

### Quick start

First, ensure that you have Cedana installed on your machine, and the daemon is running. See [installation](https://docs.cedana.ai/daemon/get-started/installation).

#### Run a new job

```sh
cedana run process --attach test/workloads/date-loop.sh
```

Any process/container you spawn using `cedana run` creates a managed job. To view all managed jobs:

```sh
cedana ps
```

```
JOB               TYPE       PID  STATUS  GPU  CHECKPOINT  SIZE  LOG
personal_hopper9  process  32646  sleep   no                     [Attachable]
```

#### Checkpoint the job

```sh
cedana dump job personal_hopper9
```

If you view the jobs again, you will see that it was checkpointed:

```sh
JOB               TYPE       PID  STATUS  GPU  CHECKPOINT     SIZE     LOG
personal_hopper9  process  32646  halted  no   2 seconds ago  644 KiB
```

#### Restore the job

```sh
cedana restore job --attach personal_hopper9
```

For specific usage, check out the [guides](#guides). For information on architecture or to get started with contributing, check out the [developer guides](#developer-guides).

{% hint style="info" %}
For all available CLI options, see [CLI reference](https://docs.cedana.ai/daemon/references/cli/cedana). Directly interacting with daemon is also possible through gRPC, see [API reference](https://docs.cedana.ai/daemon/references/api).
{% endhint %}

### Get started

* [Quick start](#quick-start)
* [Installation](https://docs.cedana.ai/daemon/get-started/installation)
* [Authentication](https://docs.cedana.ai/daemon/get-started/authentication)
* [Configuration](https://docs.cedana.ai/daemon/get-started/configuration)
* [Health checks](https://docs.cedana.ai/daemon/get-started/health)
* [Plugins](https://docs.cedana.ai/daemon/get-started/plugins)
* [Features](https://docs.cedana.ai/daemon/get-started/features)

### Checkpoint/restore

* [Managed process/container](https://docs.cedana.ai/daemon/checkpoint-restore/managed)
* [Checkpoint/restore basics](https://docs.cedana.ai/daemon/checkpoint-restore/cr)
* [Checkpoint/restore with GPUs](https://docs.cedana.ai/daemon/checkpoint-restore/cr-1)
* [Checkpoint/restore runc](https://docs.cedana.ai/daemon/checkpoint-restore/cr-2)
* [Checkpoint/restore containerd](https://docs.cedana.ai/daemon/checkpoint-restore/cr-2)
* [Checkpoint/restore streamer](https://docs.cedana.ai/daemon/checkpoint-restore/cr-4)
* [Checkpoint/restore kubernetes](https://docs.cedana.ai/daemon/checkpoint-restore/cr-5)

### Storage

* [Amazon S3](https://docs.cedana.ai/daemon/storage/s3)
* [Google Cloud Storage](https://docs.cedana.ai/daemon/storage/gcs)
* [Cedana Storage](https://docs.cedana.ai/daemon/storage/cedana)

### Developer guides

* [Architecture](https://docs.cedana.ai/daemon/developer-guides/architecture)
* [Profiling](https://docs.cedana.ai/daemon/developer-guides/profiling)
* [Testing](https://docs.cedana.ai/daemon/developer-guides/testing)
* [Writing plugins](https://docs.cedana.ai/daemon/developer-guides/writing_plugins)

### References

* [CLI reference](https://docs.cedana.ai/daemon/references/cli/cedana)
* [API reference](https://docs.cedana.ai/daemon/references/api)
