Manuais para a linha de comandos

Man » Manual online do systemctl - documentação online detalhada para a página de manual do systemctl

🌍
systemctl - Controlar o gerenciador de sistema e serviços systemd

SINTAXE

systemctl [OPÇÕES...] COMANDO [UNIDADE...]

DESCRIÇÃO

systemctl pode ser usado para inspecionar e controlar o estado do gerenciador de sistema e serviços "systemd". Consulte [systemd]({filename}../../systemd)(1) para uma introdução aos conceitos e funcionalidades básicos que esta ferramenta gerencia.

COMANDOS

Os seguintes comandos são suportados:

Comandos de Unidade (Introspecção e Modificação)

list-units [PADRÃO...]

Lista as unidades que o systemd tem atualmente na memória. Isso inclui unidades que são referenciadas diretamente ou por meio de uma dependência, unidades que são fixadas por aplicativos programaticamente ou unidades que estavam ativas no passado e falharam. Por padrão, apenas as unidades que estão ativas, têm trabalhos pendentes ou falharam são mostradas; isso pode ser alterado com a opção --all. Se um ou mais PADRÕES forem especificados, apenas as unidades que corresponderem a um deles serão mostradas. As unidades que são mostradas também são filtradas por --type= e --state= se essas opções forem especificadas.

Observe que este comando não mostra modelos de unidade, mas apenas instâncias de modelos de unidade. Os modelos de unidade que não são instanciados não são executáveis e, portanto, nunca aparecerão na saída deste comando. Especificamente, isso significa que [email protected] nunca será mostrado nesta lista — a menos que seja instanciado, por exemplo, como _. Use list-unit-files (veja abaixo) para listar os arquivos de modelo de unidade instalados.

Produz uma saída semelhante a:

UNIDADE                         CARREGADA  ATIVA   SUB     DESCRIÇÃO
sys-module-fuse.device       carregada  ativa    conectado /sys/module/fuse
-.mount                      carregada  ativa    montado   Montagem Raiz
boot-efi.mount               carregada  ativa    montado   /boot/efi
systemd-journald.service     carregada  ativa    executando Serviço de Jornal
systemd-logind.service       carregada  ativa    executando Serviço de Login
● \_            carregada  falhou    falhou    Gerenciador de Usuário para UID 1000
...
systemd-tmpfiles-clean.timer carregada  ativa    aguardando Limpeza Diária de Diretórios Temporários

CARREGADA = Reflete se a definição da unidade foi carregada corretamente.
ATIVA = O estado de ativação de alto nível da unidade, ou seja, generalização de SUB.
SUB = O estado de ativação de baixo nível da unidade, os valores dependem do tipo de unidade.

123 unidades listadas. Use --all para ver também unidades carregadas, mas inativas.

Para mostrar todos os arquivos de unidade instalados, use 'systemctl list-unit-files'.

O cabeçalho e a última unidade de um determinado tipo são sublinhados se o terminal suportar isso. Um ponto colorido é mostrado ao lado dos serviços que foram mascarados, não encontrados ou que falharam de outra forma.


A coluna LOAD mostra o estado de carregamento, que pode ser loaded, not-found, bad-setting, error, masked. A coluna ACTIVE mostra o estado geral da unidade, que pode ser um dos seguintes:

Tabela 1. Estados ACTIVE da unidade

┌──────────────┬─────────────────────────────────────┐
│ Estado        │ Descrição                         │
├──────────────┼─────────────────────────────────────┤
│ active       │ Iniciado, vinculado, conectado, ...,    │
│              │ dependendo do tipo de unidade.         │
├──────────────┼─────────────────────────────────────┤
│ inactive     │ Parado, desvinculado, desconectado, ...,   │
│              │ dependendo do tipo de unidade.         │
├──────────────┼─────────────────────────────────────┤
│ failed       │ Semelhante a inactive, mas a unidade   │
│              │ falhou de alguma forma (o processo         │
│              │ retornou um código de erro ao sair,        │
│              │ travou, uma operação excedeu o tempo limite ou │
│              │ após muitas tentativas de reinicialização).           │
├──────────────┼─────────────────────────────────────┤
│ activating   │ Mudando de inactive para active.   │
├──────────────┼─────────────────────────────────────┤
│ deactivating │ Mudando de active para inactive.   │
├──────────────┼─────────────────────────────────────┤
│ maintenance  │ A unidade está inativa e uma operação de manutenção  │
│              │ está em andamento.           │
├──────────────┼─────────────────────────────────────┤
│ reloading    │ A unidade está ativa e está recarregando  │
│              │ sua configuração.                  │
├──────────────┼─────────────────────────────────────┤
│ refreshing   │ A unidade está ativa e um novo ponto de montagem está   │
│              │ sendo ativado em seu espaço de nomes.   │
└──────────────┴─────────────────────────────────────┘

A coluna SUB mostra o estado detalhado específico do tipo de unidade, os valores possíveis variam de acordo com o tipo de unidade. A lista de possíveis estados LOAD, ACTIVE e SUB não é constante e novas versões do systemd podem adicionar e remover valores.

systemctl --state=help

o comando pode ser usado para exibir o conjunto atual de valores possíveis.

Este é o comando padrão.

list-automounts [PADRÃO...]

Lista as unidades de automontagem atualmente na memória, ordenadas pelo caminho de montagem. Se um ou mais PADRÕES forem especificados, apenas as unidades de automontagem que correspondem a um deles serão mostradas. Produz uma saída semelhante a

O QUE        ONDE                    MONTADO INATIVO TEMPO LIMITE UNIDADE
/dev/sdb1   /mnt/test                não      120s         mnt-test.automount
binfmt_misc /proc/sys/fs/binfmt_misc sim     0            proc-sys-fs-binfmt_misc.automount

2 unidades de automontagem listadas.

Veja também --show-types, --all e --state=.

Adicionado na versão 252.

list-paths [PADRÃO...]

Lista as unidades de caminho atualmente na memória, ordenadas pelo caminho. Se um ou mais PADRÕES forem especificados, apenas as unidades de caminho que correspondem a um deles serão mostradas. Produz uma saída semelhante a

CAMINHO                           CONDIÇÃO         UNIDADE                               ATIVA
/run/systemd/ask-password      DirectoryNotEmpty systemd-ask-password-plymouth.path systemd-ask-password-plymouth.service
/run/systemd/ask-password      DirectoryNotEmpty systemd-ask-password-wall.path     systemd-ask-password-wall.service
/var/cache/cups/org.cups.cupsd PathExists        cups.path                          cups.service

3 caminhos listados.

Veja também --show-types, --all e --state=.

Adicionado na versão 254.

list-sockets [PADRÃO...]

Lista as unidades de soquete atualmente na memória, ordenadas pelo endereço de escuta. Se um ou mais PADRÕES forem especificados, apenas as unidades de soquete que correspondem a um deles serão mostradas. Produz uma saída semelhante a

ESCUTAR           UNIDADE                        ATIVA
kobject-uevent 1 systemd-udevd-kernel.socket systemd-udevd.service
/dev/rfkill      systemd-rfkill.socket       systemd-rfkill.service
...

5 soquetes listados.

Observação: como os endereços podem conter espaços, essa saída não é adequada para

consumo programático.

Veja também --show-types, --all e --state=.

Adicionado na versão 202.

list-timers [PADRÃO...]

Lista as unidades de temporizador atualmente na memória, ordenadas pelo horário em que elas devem ser executadas. Se um ou mais PADRÕES forem especificados, apenas as unidades que correspondem a um deles serão mostradas. Produz uma saída semelhante a

PRÓXIMO                         RESTANTE          ÚLTIMO                         PASSADO     UNIDADE                         ATIVA
-                            -             Qui, 23 de fevereiro de 2017, 13:40:29 EST  3 dias atrás ureadahead-stop.timer        ureadahead-stop.service
Dom, 26 de fevereiro de 2017, 18:55:42 EST  1min 14s restantes Qui, 23 de fevereiro de 2017, 13:54:44 EST  3 dias atrás systemd-tmpfiles-clean.timer systemd-tmpfiles-clean.service
Dom, 26 de fevereiro de 2017, 20:37:16 EST  1h 42min restantes Dom, 26 de fevereiro de 2017, 11:56:36 EST  6h atrás     apt-daily.timer              apt-daily.service
Dom, 26 de fevereiro de 2017, 20:57:49 EST  2h 3min restantes  Dom, 26 de fevereiro de 2017, 11:56:36 EST  6h atrás     snapd.refresh.timer          snapd.refresh.service

NEXT mostra o próximo horário em que o temporizador será executado.

LEFT mostra quanto tempo falta para o próximo horário em que o temporizador será executado.

LAST mostra o último horário em que o temporizador foi executado.

PASSED mostra quanto tempo se passou desde a última execução do temporizador.

UNIT mostra o nome do temporizador.

ACTIVATES mostra o nome do serviço que o temporizador ativa quando é executado.

Consulte também --all e --state=.

Adicionado na versão 209.

is-active PATTERN...
Verifica se alguma das unidades especificadas está ativa (ou seja, em execução). Retorna um código de saída 0 se pelo menos uma estiver ativa ou diferente de zero, caso contrário. A menos que --quiet seja especificado, isso também imprimirá o estado atual da unidade na saída padrão.

is-failed [PATTERN...]
Verifica se alguma das unidades especificadas está no estado "failed" (com falha). Se nenhuma unidade for especificada, verifica se há unidades com falha ou ciclos de ordenação, o que corresponde ao estado "degraded" (degradado) retornado por is-system-running. Retorna um código de saída 0 se pelo menos uma estiver com falha, diferente de zero, caso contrário. A menos que --quiet seja especificado, isso também imprimirá o estado atual da unidade ou do sistema na saída padrão.

Adicionado na versão 197.

status [PATTERN...|PID...]
Mostra informações de status de tempo de execução sobre todo o sistema ou sobre uma ou mais unidades, seguido pelos dados de log mais recentes do journal. Se nenhum argumento posicional for especificado e nenhum filtro de unidade for fornecido com --type=, --state= ou --failed, mostra o status de todo o sistema. Se combinado com --all, mostrará o status de todas as unidades. Se argumentos posicionais forem especificados, cada argumento posicional será tratado como um nome de unidade para mostrar, ou um padrão glob para mostrar unidades cujos nomes correspondam a esse padrão ou um PID para mostrar a unidade que contém esse PID. Quando --type=, --state= ou --failed são usados, as unidades também são filtradas pelo TIPO e ESTADO ATIVO.

Esta função tem como objetivo gerar saída legível por humanos. Se você estiver procurando por saída que possa ser analisada por computador, use show. Por padrão, esta função mostra apenas 10 linhas de saída e trunca as linhas para caber no terminal. Isso pode ser alterado com --lines e --full, veja acima. Além disso, journalctl --unit=NAME ou journalctl --user-unit=NAME usam um filtro semelhante para mensagens e podem ser mais convenientes.

Observe que esta operação exibe apenas o status de tempo de execução, ou seja, informações sobre a invocação atual da unidade (se estiver em execução) ou a invocação mais recente (se não estiver mais em execução e não tiver sido liberada da memória). Informações sobre invocações anteriores, invocações de inicializações de sistema anteriores ou invocações anteriores que já foram liberadas da memória podem ser obtidas por meio de journalctl --unit=.

O systemd carrega implicitamente as unidades conforme necessário, portanto, apenas executar o status tentará carregar um arquivo. O comando, portanto, não é útil para determinar se algo já foi carregado ou não. As unidades também podem ser rapidamente descarregadas após a conclusão da operação, se não houver motivo para mantê-las na memória.

Exemplo 1. Exemplo de saída do comando systemctl status

$ systemctl status bluetooth
● bluetooth.service - Serviço Bluetooth
Carregado: carregado (/usr/lib/systemd/system/bluetooth.service; habilitado; predefinido: habilitado)
Ativo: ativo (em execução) desde Wed 2017-01-04 13:54:04 EST; 1 semana, 0 dias atrás
Docs: man:bluetoothd(8)
PID principal: 930 (bluetoothd)
Status: "Em execução"
Tarefas: 1
Memória: 648.0K
CPU: 435ms
CGroup: /system.slice/bluetooth.service
└─930 /usr/lib/bluetooth/bluetoothd

Jan 12 10:46:45 example.com bluetoothd[8900]: Não há identificadores livres suficientes para registrar o serviço Jan 12 10:46:45 example.com bluetoothd[8900]: Não foi possível registrar o Serviço de Tempo Atual Jan 12 10:46:45 example.com bluetoothd[8900]: gatt-time-server: Erro de entrada/saída (5)

O ponto ("●") usa cores em terminais compatíveis para resumir o estado da unidade de forma rápida. Juntamente com sua cor, sua forma varia de acordo com seu estado: "inativo" ou "em manutenção" é um círculo branco ("○"), "ativo" é um ponto verde ("●"), "desativando" é um ponto branco, "com falha" ou "erro" é uma cruz vermelha ("×") e "recarregando" ou "atualizando" é uma seta de círculo no sentido horário verde ("↻").

A linha "Carregado:" na saída mostrará "carregado" se a unidade tiver sido carregada na memória. Outros valores possíveis para "Carregado:" incluem: "erro" se houve um problema ao carregá-la, "não encontrado" se nenhum arquivo de unidade foi encontrado para esta unidade, "configuração inválida" se uma configuração essencial do arquivo de unidade não pôde ser analisada e "mascarado" se o arquivo de unidade foi mascarado. Além de mostrar o caminho para o arquivo de unidade, esta linha também mostrará o estado de habilitação. Unidades habilitadas são incluídas na rede de dependências entre unidades e, portanto, são iniciadas na inicialização ou por meio de alguma outra forma de ativação. Consulte a tabela completa de possíveis estados de habilitação — incluindo a definição de "mascarado" — na documentação do comando is-enabled.

A linha "Ativo:" mostra o estado ativo. O valor geralmente é "ativo" ou "inativo". Ativo pode significar iniciado, vinculado, conectado, etc., dependendo do tipo de unidade. A unidade também pode estar em processo de alteração de estado, relatando um estado de "ativando" ou "desativando". Um estado especial "com falha" é inserido quando o serviço falha de alguma forma, como uma falha, saindo com um código de erro ou excedendo o tempo limite. Se o estado de falha for inserido, a causa será registrada para referência posterior.

show [PADRÃO...|TRABALHO...]

Mostra as propriedades de uma ou mais unidades, trabalhos ou o próprio gerenciador. Se nenhum argumento for especificado, as propriedades do gerenciador serão mostradas. Se um nome de unidade for especificado, as propriedades da unidade serão mostradas e, se um ID de trabalho for especificado, as propriedades do trabalho serão mostradas. Por padrão, as propriedades vazias são suprimidas. Use --all para mostrá-las também. Para selecionar propriedades específicas a serem mostradas, use --property=. Este comando foi projetado para ser usado sempre que a saída que pode ser analisada por computador for necessária. Use status se você estiver procurando por uma saída formatada e legível para humanos.


Muitas propriedades mostradas por systemctl correspondem diretamente às configurações dos arquivos de unidade do sistema e do gerenciador de serviços. Observe que as propriedades mostradas pelo comando geralmente são versões normalizadas e de nível mais baixo das configurações originais e expõem o estado de tempo de execução, além da configuração. Por exemplo, as propriedades mostradas para unidades de serviço incluem o identificador do processo principal atual do serviço como "MainPID" (que é o estado de tempo de execução), e as configurações de tempo são sempre expostas como propriedades terminadas no sufixo "...USec", mesmo que as opções de configuração correspondentes terminem em "...Sec", porque microsegundos é a unidade de tempo normalizada usada internamente pelo sistema e pelo gerenciador de serviços.

Para obter detalhes sobre muitas dessas propriedades, consulte a documentação da interface D-Bus que suporta essas propriedades, veja org.freedesktop.systemd1(5).

^ at PATTERN... Mostra os arquivos de suporte de uma ou mais unidades. Imprime os arquivos "fragment" e "drop-ins" (arquivos de origem) das unidades. Cada arquivo é precedido por um comentário que inclui o nome do arquivo. Observe que isso mostra o conteúdo dos arquivos de suporte no disco, que pode não corresponder à compreensão do gerenciador de serviços dessas unidades se algum arquivo de unidade foi atualizado no disco e o comando daemon-reload não foi emitido desde então.

Adicionado na versão 209.

^ elp PATTERN...|PID... Mostra as páginas de manual de uma ou mais unidades, se disponíveis. Se um PID for fornecido, as páginas de manual da unidade à qual o processo pertence serão mostradas.

Adicionado na versão 185.

^ ist-dependencies [UNIT...] Mostra as unidades necessárias e desejadas pelas unidades especificadas. Isso lista recursivamente as unidades que seguem as dependências Requires=, Requisite=, Wants=, ConsistsOf=, BindsTo= e Upholds=. Se nenhuma unidade for especificada, default.target é implícito.

As unidades que são mostradas também são filtradas por --type= e --state= se essas opções forem especificadas. Observe que não poderemos usar uma estrutura de árvore neste caso, portanto, --plain é implícito.

Por padrão, apenas as unidades de destino são expandidas recursivamente. Quando --all é passado, todas as outras unidades também são expandidas recursivamente.

As opções --reverse, --after e --before podem ser usadas para alterar os tipos de dependências que são mostrados.

Observe que este comando lista apenas as unidades que estão atualmente carregadas na memória pelo gerenciador de serviços. Em particular, este comando não é adequado para obter uma lista abrangente de todas as dependências inversas em uma unidade específica, pois não listará as dependências declaradas por unidades que não estão atualmente carregadas.

Adicionado na versão 198.

^ tart PATTERN... Inicia (ativa) uma ou mais unidades especificadas na linha de comando.

Observe que os padrões de glob de unidade são expandidos para nomes de unidades atualmente na memória. As unidades que não estão ativas e não estão em um estado de falha geralmente não estão na memória e não serão correspondidas por nenhum padrão. Além disso, no caso de unidades instanciadas, o systemd geralmente não tem conhecimento do nome da instância até que a instância tenha sido iniciada. Portanto, o uso de padrões de glob com start tem utilidade limitada. Além disso, os nomes de alias secundários das unidades não são considerados.


A opção --all pode ser usada para também operar em unidades inativas que são referenciadas por outras unidades carregadas. Observe que isso não é o mesmo que operar em "todas" as unidades possíveis, porque, como o parágrafo anterior descreve, tal lista é mal definida. No entanto, systemctl start --all GLOB pode ser útil se todas as unidades que devem corresponder ao padrão forem incluídas por algum alvo que se sabe que está carregado.

^ top PATTERN... Para (desativa) uma ou mais unidades especificadas na linha de comando.

Este comando falhará se a unidade não existir ou se a parada da unidade for proibida (veja RefuseManualStop= em systemd.unit(5)). Ele não falhará se algum dos comandos configurados para parar a unidade (por exemplo, ExecStop=) falhar, porque o gerenciador ainda terminará a unidade à força.

Se uma unidade que está sendo parada ainda puder ser acionada por outras unidades, um aviso contendo os nomes das unidades que a acionam será exibido. --no-warn pode ser usado para suprimir o aviso.

^ eload PATTERN... Solicita que todas as unidades listadas na linha de comando recarreguem sua configuração. Observe que isso recarregará a configuração específica do serviço, não o arquivo de configuração da unidade do systemd. Se você desejar que o systemd recarregue o arquivo de configuração de uma unidade, use o comando daemon-reload. Em outras palavras: para o caso de exemplo do Apache, isso recarregará o httpd.conf do Apache no servidor web, e não o arquivo de unidade apache.service do systemd.

Este comando não deve ser confundido com o comando daemon-reload.

^ estart PATTERN... Para e, em seguida, inicia uma ou mais unidades especificadas na linha de comando. Se as unidades ainda não estiverem em execução, elas serão iniciadas.

Observe que reiniciar uma unidade com este comando não necessariamente libera todos os recursos da unidade antes que ela seja iniciada novamente. Por exemplo, a instalação de descritores de arquivo por serviço (veja FileDescriptorStoreMax= em systemd.service(5)) permanecerá intacta, enquanto a unidade tiver um trabalho pendente e só será limpa quando a unidade for totalmente parada e não houver mais trabalhos pendentes. Se for pretendido que o armazenamento de descritores de arquivo também seja liberado durante uma operação de reinicialização, um comando systemctl stop explícito seguido por systemctl start deve ser emitido.

^ ry-restart PATTERN... Para e, em seguida, inicia uma ou mais unidades especificadas na linha de comando se as unidades estiverem em execução. Não faz nada se as unidades não estiverem em execução.

^ eload-or-restart PATTERN... Recarrega uma ou mais unidades se elas suportarem isso. Caso contrário, para e, em seguida, inicia-as. Se as unidades ainda não estiverem em execução, elas serão iniciadas.

Isso tem uma funcionalidade ligeiramente diferente quando usado em combinação com --marked, veja abaixo.

^ ry-reload-or-restart PATTERN... Recarrega uma ou mais unidades se elas suportarem isso. Caso contrário, para e, em seguida, inicia-as. Não faz nada se as unidades não estiverem em execução.


Adicionado na versão 229.

isolate UNIT

Inicia a unidade especificada na linha de comando e suas dependências e interrompe todas as outras, a menos que tenham IgnoreOnIsolate=yes (veja systemd.unit(5)). Se for fornecido um nome de unidade sem extensão, uma extensão de ".target" será assumida.

Este comando é perigoso, pois interromperá imediatamente os processos que não estão habilitados no novo alvo, possivelmente incluindo o ambiente gráfico ou o terminal que você está usando atualmente.

Observe que esta operação só é permitida em unidades onde AllowIsolate= está habilitado. Veja systemd.unit(5) para obter detalhes.

kill PATTERN...

Envia um sinal de processo UNIX para um ou mais processos da unidade. Use --kill-whom= para selecionar qual processo enviar o sinal. Use --signal= para selecionar o sinal a ser enviado. Combine com --kill-value= para enfileirar um Sinal em Tempo Real POSIX com um valor associado.

clean PATTERN...

Remove a configuração, o estado, o cache, os logs, os dados de tempo de execução ou os dados do armazenamento de descritores de arquivo das unidades especificadas. Use --what= para selecionar qual tipo de recurso remover. Para unidades de serviço, isso pode ser usado para remover os diretórios configurados com ConfigurationDirectory=, StateDirectory=, CacheDirectory=, LogsDirectory= e RuntimeDirectory=, veja systemd.exec(5) para detalhes. Também pode ser usado para limpar o armazenamento de descritores de arquivo conforme habilitado via FileDescriptorStoreMax=, veja systemd.service(5) para detalhes. Para unidades de temporizador, isso pode ser usado para limpar os dados de carimbo de data/hora persistentes se Persistent= for usado e --what=state for selecionado, veja systemd.timer(5) para detalhes. Este comando se aplica apenas a unidades que usam uma dessas configurações. Se --what= não for especificado, os dados de cache e tempo de execução, bem como o armazenamento de descritores de arquivo, serão removidos (já que esses três tipos de recursos são geralmente redundantes e reproduzíveis na próxima invocação da unidade). Vários valores podem ser separados por vírgulas. Observe que as unidades especificadas devem estar paradas para invocar esta operação.

Tabela 2. Valores possíveis para --what=

┌─────────────────┬────────────────────────────────────┐
│ Valor           │ Configuração da Unidade            │
├─────────────────┼────────────────────────────────────┤
│ "runtime"       │ RuntimeDirectory=                  │
├─────────────────┼────────────────────────────────────┤
│ "state"         │ StateDirectory=                    │
├─────────────────┼────────────────────────────────────┤
│ "cache"         │ CacheDirectory=                    │
├─────────────────┼────────────────────────────────────┤
│ "logs"          │ LogsDirectory=                     │
├─────────────────┼────────────────────────────────────┤
│ "configuration" │ ConfigurationDirectory=            │
├─────────────────┼────────────────────────────────────┤
│ "fdstore"       │ FileDescriptorStorePreserve=       │
├─────────────────┼────────────────────────────────────┤
│ "all"           │ Todos os itens acima                │
├─────────────────┼────────────────────────────────────┤
│ "help"          │ Mostra os valores suportados e sai   │
└─────────────────┴────────────────────────────────────┘

Adicionado na versão 243.

freeze PATTERN...
Congela uma ou mais unidades especificadas na linha de comando usando o congelador de cgroups.

Congelar uma unidade fará com que todos os processos contidos no cgroup correspondente à
unidade sejam suspensos. Ser suspenso significa que os processos da unidade não serão
agendados para execução na CPU até serem descongelados. Observe que este comando é suportado
apenas em sistemas que usam uma hierarquia unificada de cgroups. A unidade é descongelada
automaticamente logo antes de executarmos um trabalho contra a unidade, por exemplo, antes
que a unidade seja interrompida.

Adicionado na versão 246.

thaw PATTERN...
Descongela (descongela) uma ou mais unidades especificadas na linha de comando.

Esta é a operação inversa do comando `freeze` e retoma a execução dos processos no
cgroup da unidade.

Adicionado na versão 246.

set-property UNIT PROPERTY=VALUE...
Define as propriedades da unidade especificada em tempo de execução, quando isso for suportado.
Isso permite alterar parâmetros de configuração, como configurações de controle de recursos, em
tempo de execução. Nem todas as propriedades podem ser alteradas em tempo de execução, mas muitas
configurações de controle de recursos (principalmente aquelas em `systemd.resource-control(5)`)
podem. As alterações são aplicadas imediatamente e armazenadas em disco para inicializações
futuras, a menos que a opção `--runtime` seja passada, caso em que as configurações se aplicam
apenas até a próxima reinicialização. A sintaxe da atribuição de propriedade segue de perto a
sintaxe das atribuições em arquivos de unidade.

Exemplo: `systemctl set-property foobar.service CPUWeight=200`

Se a unidade especificada parecer inativa, as alterações serão armazenadas apenas em disco,
conforme descrito anteriormente, portanto, serão eficazes quando a unidade for iniciada.

Observe que este comando permite alterar várias propriedades ao mesmo tempo, o que é
preferível em vez de defini-las individualmente.

Exemplo: systemctl set-property foobar.service CPUWeight=200 MemoryMax=2G IPAccounting=yes

Assim como nas configurações de arquivos de unidade, atribuir uma configuração vazia geralmente redefine uma propriedade para seus valores padrão.

Exemplo: systemctl set-property avahi-daemon.service IPAddressDeny=

Adicionado na versão 206.

bind UNIT PATH [PATH]

Monta um arquivo ou diretório do host no namespace de montagem da unidade especificada. O primeiro argumento de caminho é o arquivo ou diretório de origem no host, o segundo argumento de caminho é o arquivo ou diretório de destino no namespace de montagem da unidade. Quando este último é omitido, o caminho de destino no namespace de montagem da unidade é o mesmo que o caminho de origem no host. Quando combinado com a opção --read-only, uma montagem somente leitura é criada. Quando combinado com a opção --mkdir, o caminho de destino é criado primeiro antes que a montagem seja aplicada.

Observe que esta opção é suportada apenas para unidades que são executadas dentro de um namespace de montagem (por exemplo, com RootImage=, PrivateMounts=, etc.). Este comando suporta a montagem de diretórios, arquivos regulares, nós de dispositivo, nós de soquete AF_UNIX, bem como FIFOs. A montagem é efêmera e é desfeita assim que o processo da unidade atual é encerrado. Observe que o namespace mencionado aqui, onde a montagem será adicionada, é o namespace onde o processo de serviço principal é executado. Outros processos (aqueles executados por ExecReload=, ExecStartPre=, etc.) são executados em namespaces distintos.

Se suportado pelo kernel, qualquer montagem anterior no destino selecionado será substituída pela nova montagem. Se não for suportado, qualquer montagem anterior será sobreposta, mas permanecerá fixada e inacessível.

Adicionado na versão 248.

mount-image UNIT IMAGE [PATH [PARTITION_NAME:MOUNT_OPTIONS]]

Monta uma imagem do host no namespace de montagem da unidade especificada. O primeiro argumento de caminho é a imagem de origem no host, o segundo argumento de caminho é o diretório de destino no namespace de montagem da unidade (ou seja, dentro de RootImage=/RootDirectory=). O argumento seguinte, se houver, é interpretado como uma tupla separada por dois pontos de nome da partição e lista de opções de montagem separadas por vírgulas para essa partição. O formato é o mesmo da configuração MountImages= do serviço. Quando combinado com a opção --read-only, uma montagem somente leitura é criada. Quando combinado com a opção --mkdir, o caminho de destino é criado primeiro antes que a montagem seja aplicada.

Observe que esta opção é suportada apenas para unidades que são executadas dentro de um namespace de montagem (ou seja, com RootImage=, PrivateMounts=, etc.). Observe que o namespace mencionado aqui, onde a montagem da imagem será adicionada, é o namespace onde o processo de serviço principal é executado. Observe que o namespace mencionado aqui, onde a montagem será adicionada, é o namespace onde o processo de serviço principal é executado. Outros processos (aqueles executados por ExecReload=, ExecStartPre=, etc.) são executados em namespaces distintos.


Se suportado pelo kernel, qualquer montagem anterior no destino selecionado será substituída pela nova montagem. Caso contrário, qualquer montagem anterior será sobreposta, mas permanecerá fixada e inacessível.

Exemplo:

systemctl mount-image foo.service /tmp/img.raw /var/lib/image root:ro,nosuid
systemctl mount-image --mkdir bar.service /tmp/img.raw /var/lib/baz/img

Adicionado na versão 248.

service-log-level SERVICE [LEVEL]

Se o argumento LEVEL não for fornecido, imprime o nível de log atual reportado pelo serviço SERVICE.

Se o argumento opcional LEVEL for fornecido, então altera o nível de log atual do serviço para LEVEL. O nível de log deve ser um nível de log syslog típico, ou seja, um valor no intervalo de 0...7 ou uma das strings emerg, alert, crit, err, warning, notice, info, debug; veja syslog(3) para detalhes.

O serviço deve ter a propriedade BusName=destination apropriada e também implementar a interface genérica org.freedesktop.LogControl1(5). (systemctl usará o protocolo D-Bus genérico para acessar a interface org.freedesktop.LogControl1.LogLevel para o nome D-Bus de destino.)

Adicionado na versão 247.

service-log-target SERVICE [TARGET]

Se o argumento TARGET não for fornecido, imprime o destino de log atual reportado pelo serviço SERVICE.

Se o argumento opcional TARGET for fornecido, então altera o destino de log atual do serviço para TARGET. O destino de log deve ser uma das strings console (para saída de log para o fluxo de erro padrão do serviço), kmsg (para saída de log para o buffer de log do kernel), journal (para saída de log para systemd-journald.service(8) usando o protocolo de journal nativo), syslog (para saída de log para o socket syslog clássico /dev/log), null (para nenhuma saída de log) ou auto (para uma escolha determinada automaticamente, tipicamente equivalente a console se o serviço for invocado interativamente e journal ou syslog caso contrário).

Para a maioria dos serviços, apenas um pequeno subconjunto de destinos de log faz sentido. Em particular, a maioria dos serviços "normais" deve apenas implementar console, journal e null. Qualquer outra coisa é apropriada apenas para serviços de baixo nível que estão ativos em um estágio inicial da inicialização, antes que o registro adequado seja estabelecido.

O serviço deve ter a propriedade BusName=destination apropriada e também implementar a interface genérica org.freedesktop.LogControl1(5). (systemctl usará o protocolo D-Bus genérico para acessar a interface org.freedesktop.LogControl1.LogLevel para o nome D-Bus de destino.)

Adicionado na versão 247.

reset-failed [PATTERN...]

Reseta o estado "falhado" das unidades especificadas, ou se nenhum nome de unidade for passado, reseta o estado de todas as unidades. Quando uma unidade falha de alguma forma (ou seja, o processo sai com um código de erro diferente de zero, termina anormalmente ou excede o tempo limite), ela entrará automaticamente no estado "falhado" e seu código de saída e status serão registrados para inspeção pelo administrador até que o serviço seja interrompido/reiniciado ou redefinido com este comando.

Além de redefinir o estado "falhado" de uma unidade, também redefine várias outras propriedades por unidade: o contador de taxa de inicialização de todos os tipos de unidade é redefinido para zero, assim como o contador de reinicialização de unidades de serviço. Portanto, se o limite de inicialização de uma unidade (conforme configurado com StartLimitIntervalSec=/StartLimitBurst=) for atingido e a unidade se recusar a ser iniciada novamente, use este comando para torná-la inicializável novamente.


whoami [PID...]

Retorna as unidades às quais os processos referenciados pelos PIDs fornecidos pertencem (uma por linha). Se nenhum PID for especificado, retorna a unidade na qual o comando systemctl é invocado.

Adicionado na versão 254.

Comandos de Arquivo de Unidade

list-unit-files [PADRÃO...]

Lista os arquivos de unidade instalados no sistema, em combinação com seu estado de ativação (conforme relatado por is-enabled). Se um ou mais PADRÕES forem especificados, apenas os arquivos de unidade cujos nomes correspondem a um deles serão exibidos (padrões que correspondem a caminhos do sistema de arquivos de arquivos de unidade não são suportados).

Ao contrário de list-units, este comando listará as unidades de modelo, além das unidades instanciadas explicitamente.

Adicionado na versão 233.

enable UNIDADE..., enable CAMINHO...

Habilita uma ou mais unidades ou instâncias de unidade. Isso criará um conjunto de links simbólicos, conforme codificado nas seções [Install] dos arquivos de unidade indicados. Depois que os links simbólicos forem criados, a configuração do gerenciador de sistema será recarregada (de uma maneira equivalente a daemon-reload), a fim de garantir que as alterações sejam consideradas imediatamente. Observe que isso não tem o efeito de também iniciar qualquer uma das unidades que estão sendo habilitadas. Se isso for desejado, combine este comando com a opção --now ou invoque start com os argumentos apropriados posteriormente. Observe que, no caso da habilitação de instâncias de unidade (ou seja, habilitação de unidades no formato _), links simbólicos com o mesmo nome das instâncias são criados no diretório de configuração da unidade; no entanto, eles apontam para o arquivo de unidade de modelo único do qual são instanciados.

Este comando espera nomes de unidade válidos (nesse caso, vários diretórios de arquivos de unidade são pesquisados automaticamente para arquivos de unidade com nomes apropriados) ou caminhos absolutos para arquivos de unidade (nesse caso, esses arquivos são lidos diretamente). Se um arquivo de unidade especificado estiver localizado fora dos diretórios de arquivos de unidade usuais, um link simbólico adicional será criado, vinculando-o ao caminho de configuração da unidade, garantindo assim que ele seja encontrado quando solicitado por comandos como start. O sistema de arquivos onde os arquivos de unidade vinculados estão localizados deve ser acessível quando o systemd for iniciado (por exemplo, qualquer coisa abaixo de /home/ ou /var/ não é permitida, a menos que esses diretórios estejam localizados no sistema de arquivos raiz).

Este comando imprimirá as operações do sistema de arquivos executadas. Esta saída pode ser suprimida passando --quiet.

Observe que esta operação cria apenas os links simbólicos sugeridos na seção [Install] dos arquivos de unidade. Embora este comando seja a maneira recomendada de manipular o diretório de configuração da unidade, o administrador tem permissão para fazer alterações adicionais manualmente, colocando ou removendo links simbólicos abaixo deste diretório. Isso é particularmente útil para criar configurações que se desviam da instalação padrão sugerida. Neste caso, o administrador deve garantir que invoque daemon-reload manualmente, conforme necessário, para garantir que as alterações sejam consideradas.


Ao usar esta operação em unidades sem informações de instalação, um aviso sobre isso é exibido. --no-warn pode ser usado para suprimir o aviso.

Habilitar unidades não deve ser confundido com iniciar (ativar) unidades, como feito pelo comando start. Habilitar e iniciar unidades é independente: as unidades podem ser habilitadas sem serem iniciadas e iniciadas sem serem habilitadas. Habilitar simplesmente vincula a unidade a vários locais sugeridos (por exemplo, para que a unidade seja iniciada automaticamente na inicialização ou quando um determinado tipo de hardware for conectado). Iniciar realmente gera o processo daemon (no caso de unidades de serviço) ou vincula o socket (no caso de unidades de socket), e assim por diante.

Dependendo se --system, --user, --runtime ou --global é especificado, isso habilita a unidade para o sistema, para o usuário que está chamando apenas, para apenas esta inicialização do sistema ou para todos os logins futuros de todos os usuários. Observe que, no último caso, nenhuma configuração do daemon systemd é recarregada.

Usar enable em unidades mascaradas não é suportado e resulta em um erro.

disable UNIT...

Desabilita uma ou mais unidades. Isso remove todos os links simbólicos para os arquivos de unidade que fazem referência às unidades especificadas do diretório de configuração da unidade e, portanto, desfaz quaisquer alterações feitas por enable ou link. Observe que isso remove todos os links simbólicos para os arquivos de unidade correspondentes, incluindo links simbólicos criados manualmente, e não apenas aqueles realmente criados por enable ou link. Observe que, embora disable desfaça o efeito de enable, os dois comandos não são simétricos, pois disable pode remover mais links simbólicos do que uma invocação anterior de enable da mesma unidade criou.

Este comando espera apenas nomes de unidades válidos; ele não aceita caminhos para arquivos de unidade.

Além das unidades especificadas como argumentos, todas as unidades que estão listadas na configuração Also= contida na seção [Install] de qualquer um dos arquivos de unidade que estão sendo operados também são desabilitadas.

Este comando recarrega implicitamente a configuração do gerenciador de sistema após concluir a operação. Observe que este comando não interrompe implicitamente as unidades que estão sendo desabilitadas. Se isso for desejado, combine este comando com a opção --now ou invoque o comando stop com os argumentos apropriados posteriormente.

Este comando imprimirá informações sobre as operações do sistema de arquivos (remoções de links simbólicos) executadas. Essa saída pode ser suprimida passando --quiet.

Se uma unidade for desabilitada, mas suas unidades de gatilho ainda estiverem ativas, um aviso contendo os nomes das unidades de gatilho será exibido. --no-warn pode ser usado para suprimir o aviso.

Quando este comando é usado com --user, as unidades que estão sendo operadas ainda podem estar habilitadas no escopo global e, portanto, podem ser iniciadas automaticamente, mesmo após uma desabilitação bem-sucedida no escopo do usuário. Neste caso, um aviso sobre isso é exibido, que pode ser suprimido usando --no-warn.


Este comando honra as opções --system, --user, --runtime, --global e --no-warn de maneira semelhante ao enable.

Adicionado na versão 238.

reenable UNIT...

Reative uma ou mais unidades, conforme especificado na linha de comando. Esta é uma combinação de disable e enable, e é útil para redefinir os links simbólicos com os quais um arquivo de unidade é habilitado, para os padrões configurados em sua seção [Install]. Este comando espera apenas o nome da unidade, não aceitando caminhos para arquivos de unidade.

Este comando recarrega implicitamente a configuração do gerenciador de sistema após concluir a operação. Observe que este comando não reinicia implicitamente as unidades que estão sendo desabilitadas. Se isso for desejado, combine este comando com a opção --now, ou invoque o comando try-restart com os argumentos apropriados posteriormente.

Adicionado na versão 238.

preset UNIT...

Redefina o status de habilitação/desabilitação de um ou mais arquivos de unidade, conforme especificado na linha de comando, para os padrões configurados nos arquivos de política de predefinição. Isso tem o mesmo efeito que disable ou enable, dependendo de como a unidade é listada nos arquivos de predefinição.

Use --preset-mode= para controlar se as unidades devem ser habilitadas e desabilitadas, ou apenas habilitadas, ou apenas desabilitadas.

Se a unidade não tiver informações de instalação, ela será ignorada silenciosamente por este comando. UNIT deve ser o nome real da unidade, quaisquer nomes de alias são ignorados silenciosamente.

Para obter mais informações sobre o formato da política de predefinição, consulte systemd.preset(5).

Adicionado na versão 238.

preset-all

Redefine todos os arquivos de unidade instalados para os padrões configurados no arquivo de política de predefinição (veja acima).

Use --preset-mode= para controlar se as unidades devem ser habilitadas e desabilitadas, ou apenas habilitadas, ou apenas desabilitadas.

Adicionado na versão 215.

is-enabled UNIT...

Verifica se algum dos arquivos de unidade especificados está habilitado (como no enable). Retorna um código de saída de 0 se pelo menos um estiver habilitado, diferente de zero caso contrário. Imprime o status de habilitação atual (veja a tabela). Para suprimir esta saída, use --quiet. Para mostrar os destinos de instalação, use --full.

Tabela 3. Saída do is-enabled

┌───────────────────┬────────────────────────────┬───────────┐
│ Name              │ Description                │ Exit Code │
├───────────────────┼────────────────────────────┼───────────┤
│ "enabled"         │ Habilitado via .wants/,       │           │
├───────────────────┤ .requires/ ou Alias=       │           │
│ "enabled-runtime" │ links simbólicos (permanentemente em   │ 0         │
│                   │ /etc/systemd/system/, ou   │           │
│                   │ transitivamente em             │           │
│                   │ /run/systemd/system/).     │           │
├───────────────────┼────────────────────────────┼───────────┤
│ "linked"          │ Tornado disponível através de um ou mais │           │
├───────────────────┤ links simbólicos para o    │           │
│ "linked-runtime"  │ arquivo de unidade (permanentemente em  │           │
│                   │ /etc/systemd/system/ ou    │ \> 0       │
│                   │ transitivamente em             │           │
│                   │ /run/systemd/system/),     │           │
│                   │ mesmo que o arquivo de unidade  │           │
│                   │ possa estar fora do    │           │
│                   │ caminho de pesquisa do arquivo de unidade. │           │
├───────────────────┼────────────────────────────┼───────────┤
│ "alias"           │ O nome é um alias       │ 0         │
│                   │ (link simbólico para outro    │           │
│                   │ arquivo de unidade).                     │           │
├───────────────────┼────────────────────────────┼───────────┤
│ "masked"          │ Completamente desabilitado, de modo que  │           │
├───────────────────┤ qualquer operação de inicialização   │           │
│ "masked-runtime"  │ nele falhe (permanentemente   │ \> 0       │
│                   │ em /etc/systemd/system/ ou │           │
│                   │ transitivamente em             │           │
│                   │ /run/systemd/systemd/).    │           │
├───────────────────┼────────────────────────────┼───────────┤
│ "static"          │ O arquivo de unidade não é       │ 0         │
│                   │ habilitado e não tem        │           │
│                   │ disposições para habilitar na │           │
│                   │ seção [Install] do arquivo de unidade    │           │
├───────────────────┼────────────────────────────┼───────────┤
│ "indirect"        │ O arquivo de unidade em si é    │ 0         │
│                   │ não habilitado, mas tem uma  │           │
│                   │ configuração Also= não vazia na │           │
│                   │ seção [Install] do arquivo de unidade    │           │
│                   │ listando outros    │           │
│                   │ arquivos de unidade que podem estar   │           │
│                   │ habilitados, ou tem um      │           │
│                   │ alias sob um nome diferente    │           │
│                   │ através de um link simbólico     │           │
│                   │ que não é especificado em   │           │
│                   │ Also=. Para arquivos de unidade de modelo   │           │
│                   │ uma instância diferente daquela     │           │
│                   │ especificada em               │           │
│                   │ DefaultInstance= está        │           │
│                   │ habilitado.                   │           │
├───────────────────┼────────────────────────────┼───────────┤
│ "disabled"        │ O arquivo de unidade não é       │ \> 0       │
│                   │ habilitado, mas contém uma   │           │
│                   │ seção [Install] com     │           │
│                   │ instruções de instalação. │           │
├───────────────────┼────────────────────────────┼───────────┤
│ "generated"       │ O arquivo de unidade foi          │ 0         │
│                   │ gerado dinamicamente via  │           │
│                   │ uma ferramenta de geração. Veja      │           │
│                   │ systemd.generator(7).      │           │
│                   │ Arquivos de unidade gerados podem   │           │
│                   │ não estar habilitados, eles são   │           │
│                   │ habilitados implicitamente por      │           │
│                   │ seu gerador.           │           │
├───────────────────┼────────────────────────────┼───────────┤
│ "transient"       │ O arquivo de unidade foi     │ 0         │
│                   │ criado dinamicamente com   │           │
│                   │ a API de tempo de execução. Unidades transitórias │           │
│                   │ podem não estar habilitadas.  │           │
├───────────────────┼────────────────────────────┼───────────┤
│ "bad"             │ O arquivo de unidade é inválido   │ \> 0       │
│                   │ ou ocorreu outro erro. │           │
│                   │ Observe que is-enabled não  │           │
│                   │ realmente retornará este   │           │
│                   │ estado, mas imprimirá uma mensagem de erro  │           │
│                   │ em vez disso. No entanto,  │           │
│                   │ a listagem de arquivos de unidade      │           │
│                   │ impressa por list-unit-files │           │
│                   │ pode mostrá-lo.             │           │
├───────────────────┼────────────────────────────┼───────────┤
│ "not-found"       │ O arquivo de unidade não     │ 4         │
│                   │ existe.                     │           │
└───────────────────┴────────────────────────────┴───────────┘

Adicionado na versão 238.

mask UNIT...

Mascara um ou mais unidades, conforme especificado na linha de comando. Isso criará links simbólicos desses arquivos de unidade para /dev/null, tornando impossível iniciar essas unidades. Esta é uma versão mais forte de disable, pois proíbe todos os tipos de ativação da unidade, incluindo habilitação e ativação manual. Use esta opção com cuidado. Esta opção honra a opção --runtime para mascarar temporariamente até a próxima reinicialização do sistema. A opção --now pode ser usada para garantir que as unidades também sejam interrompidas. Este comando espera apenas nomes de unidades válidos, não aceita caminhos de arquivos de unidade.

Observe que isso criará um link simbólico sob o nome da unidade em /etc/systemd/system/ (caso --runtime não seja especificado) ou /run/systemd/system/ (caso --runtime seja especificado). Se um arquivo de unidade correspondente já existir nesses diretórios, essa operação falhará. Isso significa que a operação é principalmente útil para mascarar unidades fornecidas pelo fornecedor (pois elas são fornecidas em /usr/lib/systemd/system/ e não nos dois diretórios mencionados acima), mas normalmente não funciona para unidades criadas localmente (pois elas são normalmente colocadas precisamente nos dois diretórios mencionados acima). Restrições semelhantes se aplicam ao modo --user, caso em que os diretórios estão abaixo do diretório inicial do usuário.

Se uma unidade for mascarada, mas suas unidades de acionamento ainda estiverem ativas, um aviso contendo os nomes das unidades de acionamento será exibido. A opção --no-warn pode ser usada para suprimir o aviso.

Adicionado na versão 238.

unmask UNIT...

Desmascara um ou mais arquivos de unidade, conforme especificado na linha de comando. Isso desfaz o efeito de mask. Este comando espera apenas nomes de unidades válidos, não aceita caminhos de arquivos de unidade.

Adicionado na versão 238.

link PATH...

Cria um link simbólico de um arquivo de unidade que não está no caminho de pesquisa de arquivos de unidade para o caminho de pesquisa de arquivos de unidade. Este comando espera um caminho absoluto para um arquivo de unidade. O efeito deste comando pode ser desfeito com disable. O efeito deste comando é que um arquivo de unidade fica disponível para comandos como start, mesmo que não seja instalado diretamente no caminho de pesquisa de unidades. O sistema de arquivos onde os arquivos de unidade vinculados estão localizados deve estar acessível quando o systemd for iniciado (por exemplo, qualquer coisa abaixo de /home/ ou /var/ não é permitida, a menos que esses diretórios estejam localizados no sistema de arquivos raiz).


Adicionado na versão 233.

revert UNIT...
Reverte um ou mais arquivos de unidade para suas versões do fornecedor. Este comando remove os arquivos de configuração que modificam as unidades especificadas, bem como qualquer arquivo de unidade configurado pelo usuário que substitua um arquivo de unidade fornecido pelo fornecedor. Especificamente, para uma unidade "foo.service", os diretórios correspondentes "foo.service.d/" com todos os seus arquivos contidos são removidos, tanto abaixo dos diretórios de configuração persistente e de tempo de execução (ou seja, abaixo de /etc/systemd/system e /run/systemd/system); se o arquivo de unidade tiver uma versão fornecida pelo fornecedor (ou seja, um arquivo de unidade localizado abaixo de /usr/), qualquer arquivo de unidade persistente ou de tempo de execução correspondente que o substitua também é removido. Observe que, se um arquivo de unidade não tiver uma versão fornecida pelo fornecedor (ou seja, for definido apenas abaixo de /etc/systemd/system ou /run/systemd/system, mas não em um arquivo de unidade armazenado abaixo de /usr/), ele não será removido. Além disso, se uma unidade estiver mascarada, ela será desmascarada.

Efetivamente, este comando pode ser usado para desfazer todas as alterações feitas com systemctl edit, systemctl set-property e systemctl mask e restaura o arquivo de unidade original com suas configurações.

Adicionado na versão 230.

add-wants TARGET UNIT..., add-requires TARGET UNIT...
Adiciona as dependências "Wants=" ou "Requires=" ao TARGET especificado para uma ou mais unidades.

Este comando respeita as opções --system, --user, --runtime e --global de maneira semelhante ao enable.

Adicionado na versão 217.

edit UNIT...
Edita ou substitui um snippet ou o arquivo de unidade principal, para estender ou substituir a definição da unidade especificada.

Dependendo se --system (o padrão), --user ou --global é especificado, este comando operará nos arquivos de unidade do sistema, arquivos de unidade para o usuário que o chama ou os arquivos de unidade compartilhados entre todos os usuários.

O editor (veja a seção "Ambiente" abaixo) é invocado em arquivos temporários que serão gravados no local real se o editor for encerrado com sucesso. Após a edição, a configuração é recarregada, equivalente a systemctl daemon-reload --system ou systemctl daemon-reload --user. Para edit --global, a recarga não é realizada e as edições só terão efeito para logins subsequentes (ou após uma recarga ser solicitada de outra forma).

Se --full for especificado, uma substituição para o arquivo de unidade principal será criada ou editada. Caso contrário, um arquivo de snippet será criado ou editado.

Se --drop-in= for especificado, o nome do arquivo de snippet fornecido será usado em vez do override.conf padrão.

A unidade deve existir, ou seja, seu arquivo de unidade principal deve estar presente. Se --force for especificado, este requisito é ignorado e uma nova unidade pode ser criada (com --full) ou um snippet para uma unidade inexistente pode ser criado.


Se --runtime for especificado, as alterações serão feitas temporariamente em /run/ e serão perdidas na próxima reinicialização.

Se --stdin for especificado, o novo conteúdo será lido da entrada padrão. Neste modo, o conteúdo antigo do arquivo é descartado.

Se o arquivo temporário estiver vazio ao sair, a modificação da unidade relacionada será cancelada.

Observe que este comando não pode ser usado para editar unidades remotamente e você não pode editar temporariamente unidades que estão em /etc/, pois elas têm precedência sobre /run/.

Adicionado na versão 218.

get-default Retorna o destino padrão para inicializar. Isso retorna o nome da unidade de destino padrão para o qual default.target é um alias (link simbólico).

Adicionado na versão 205.

set-default TARGET Define o destino padrão para inicializar. Isso define (cria um link simbólico) o alias default.target para a unidade de destino fornecida.

Adicionado na versão 205.

Comandos de Máquina

list-machines [PATTERN...] Lista o host e todos os contêineres locais em execução com seu estado. Se um ou mais PATTERNs forem especificados, apenas os contêineres que correspondem a um deles serão exibidos.

Adicionado na versão 212.

Comandos de Trabalho

list-jobs [PATTERN...] Lista os trabalhos que estão em andamento. Se um ou mais PATTERNs forem especificados, apenas os trabalhos para unidades que correspondem a um deles serão exibidos.

Quando combinado com --after ou --before, a lista é aumentada com informações sobre qual outro trabalho cada trabalho está aguardando e quais outros trabalhos estão aguardando por ele, veja acima.

Adicionado na versão 233.

cancel [JOB...] Cancela um ou mais trabalhos especificados na linha de comando por seus IDs de trabalho numéricos. Se nenhum ID de trabalho for especificado, cancele todos os trabalhos pendentes.

Adicionado na versão 233.

Comandos de Ambiente

systemd suporta um bloco de ambiente que é passado para os processos que o gerenciador inicia. Os nomes das variáveis podem conter letras ASCII, dígitos e o caractere de sublinhado. Os nomes das variáveis não podem estar vazios ou começar com um dígito. Nos valores das variáveis, a maioria dos caracteres é permitida, mas toda a sequência deve ser um UTF-8 válido. (Observe que caracteres de controle como nova linha (NL), tabulação (TAB) ou o caractere de escape (ESC) são ASCII válidos e, portanto, UTF-8 válidos). O comprimento total do bloco de ambiente é limitado ao valor _SC_ARG_MAX definido por sysconf(3).

show-environment Exibe o bloco de ambiente do gerenciador systemd. Este é o bloco de ambiente que é passado para todos os processos que o gerenciador inicia. O bloco de ambiente será exibido em um formato simples, adequado para ser usado em muitos shells. Se não houver caracteres especiais ou espaços em branco nos valores das variáveis, nenhuma escape será realizada e as atribuições terão o formato "VARIABLE=value". Se houver espaços em branco ou caracteres que tenham significado especial para o shell, a escape de aspas simples com cifrão será usada e as atribuições terão o formato "VARIABLE=$'value'". Essa sintaxe é conhecida por ser suportada por bash(1), zsh(1), ksh(1) e busybox(1)'s ash(1), mas não por dash(1) ou fish(1).


Observe que isso mostra o bloco de ambiente efetivo, ou seja, a combinação de variáveis de ambiente configuradas por meio de arquivos de configuração, geradores de ambiente e por meio de IPC (isto é, por meio do comando set-environment descrito abaixo). No momento em que um processo de unidade é bifurcado, este bloco de ambiente combinado será ainda mais combinado com variáveis de ambiente por unidade, que não são visíveis neste comando.

set-environment VARIABLE=VALUE...

Define uma ou mais variáveis de ambiente do gerenciador de serviços, conforme especificado na linha de comando. Este comando falhará se os nomes e valores das variáveis não estiverem em conformidade com as regras listadas acima.

Observe que isso opera em um bloco de ambiente separado do bloco de ambiente configurado a partir da configuração do gerenciador de serviços e dos geradores de ambiente. Sempre que um processo é invocado, os dois blocos são combinados (também incorporando quaisquer variáveis de ambiente por serviço) e passados para ele. O comando show-environment mostrará a combinação dos blocos, veja acima.

Adicionado na versão 233.

unset-environment VARIABLE...

Remove uma ou mais variáveis de ambiente do gerenciador de sistema. Se apenas um nome de variável for especificado, ele será removido, independentemente de seu valor. Se uma variável e um valor forem especificados, a variável só será removida se tiver o valor especificado.

Observe que isso opera em um bloco de ambiente separado do bloco de ambiente configurado a partir da configuração do gerenciador de serviços e dos geradores de ambiente. Sempre que um processo é invocado, os dois blocos são combinados (também incorporando quaisquer variáveis de ambiente por serviço) e passados para ele. O comando show-environment mostrará a combinação dos blocos, veja acima. Observe que isso significa que este comando não pode ser usado para remover variáveis de ambiente definidas nos arquivos de configuração do gerenciador de serviços ou por meio de geradores.

Adicionado na versão 233.

import-environment VARIABLE...

Importa todas ou uma ou mais variáveis de ambiente definidas no cliente para o bloco de ambiente do gerenciador systemd. Se uma lista de nomes de variáveis de ambiente for passada, os valores do lado do cliente serão importados para o bloco de ambiente do gerenciador. Se algum dos nomes não for um nome de variável de ambiente válido ou tiver valores inválidos de acordo com as regras descritas acima, um erro será gerado. Se nenhum argumento for passado, todo o bloco de ambiente herdado pelo processo systemctl será importado. Neste modo, quaisquer variáveis de ambiente inválidas herdadas são ignoradas silenciosamente.

A importação do bloco de ambiente herdado completo (chamando este comando sem nenhum argumento) está obsoleta. Um shell definirá dezenas de variáveis que só fazem sentido localmente e só se destinam a processos que são descendentes do shell. Essas variáveis no bloco de ambiente global são confusas para outros processos.

Adicionado na versão 209.

Comandos de Estado do Gerenciador

daemon-reload

Recarrega a configuração do gerenciador systemd. Isso executará novamente todos os geradores (veja systemd.generator(7)), recarregará todos os arquivos de unidade e recriará toda a árvore de dependências. Enquanto o daemon estiver sendo recarregado, todos os sockets que o systemd escuta em nome da configuração do usuário permanecerão acessíveis.


Este comando não deve ser confundido com o comando reload.

daemon-reexec

Reexecuta o gerenciador systemd. Isso serializará o estado do gerenciador, reexecutará o processo e desserializará o estado novamente. Este comando tem pouca utilidade, exceto para depuração e atualizações de pacotes. Às vezes, pode ser útil como um daemon-reload mais pesado. Enquanto o daemon estiver sendo reexecutado, todos os sockets nos quais o systemd está escutando em nome da configuração do usuário permanecerão acessíveis.

log-level [LEVEL]

Se nenhum argumento for fornecido, imprime o nível de registro atual do gerenciador. Se um argumento opcional LEVEL for fornecido, o comando altera o nível de registro atual do gerenciador para LEVEL (aceita os mesmos valores que --log-level=, descrito em systemd(1)).

Adicionado na versão 244.

log-target [TARGET]

Se nenhum argumento for fornecido, imprime o destino de registro atual do gerenciador. Se um argumento opcional TARGET for fornecido, o comando altera o destino de registro atual do gerenciador para TARGET (aceita os mesmos valores que --log-target=, descrito em systemd(1)).

Adicionado na versão 244.

service-watchdogs [yes|no]

Se nenhum argumento for fornecido, imprime o estado atual dos watchdogs de tempo de execução do serviço do gerenciador. Se um argumento booleano opcional for fornecido, ele habilita ou desabilita globalmente os watchdogs de tempo de execução do serviço (WatchdogSec=) e as ações de emergência (por exemplo, OnFailure= ou StartLimitAction=); consulte systemd.service(5). O watchdog de hardware não é afetado por esta configuração.

Adicionado na versão 244.

Comandos do sistema

is-system-running

Verifica se o sistema está operacional. Isso retorna sucesso (código de saída 0) quando o sistema está totalmente ativo e em execução, especificamente não em modo de inicialização, desligamento ou manutenção e sem serviços com falha. Falha é retornada caso contrário (código de saída diferente de zero). Além disso, o estado atual é impresso em uma string curta na saída padrão, consulte a tabela abaixo. Use --quiet para suprimir esta saída.

Use --wait para aguardar até que o processo de inicialização seja concluído antes de imprimir o estado atual e retornar o status de erro apropriado. Se --wait estiver em uso, os estados initializing ou starting não serão relatados; em vez disso, o comando bloqueará até que um estado posterior (como running ou degraded) seja alcançado.

Tabela 4. Saída de is-system-running

┌──────────────┬────────────────────────────┬───────────┐
│ Name         │ Description                │ Exit Code │
├──────────────┼────────────────────────────┼───────────┤
│ initializing │ Inicialização inicial, antes │ \> 0       │
│              │ que basic.target seja       │           │
│              │ alcançado ou o estado de   │           │
│              │ manutenção seja inserido.   │           │
├──────────────┼────────────────────────────┼───────────┤
│ starting     │ Inicialização tardia, antes │ \> 0       │
│              │ que a fila de trabalhos se  │           │
│              │ torne inativa pela primeira │           │
│              │ vez, ou um dos alvos de     │           │
│              │ recuperação seja alcançado.  │           │
├──────────────┼────────────────────────────┼───────────┤
│ running      │ O sistema está totalmente   │ 0         │
│              │ operacional.               │           │
├──────────────┼────────────────────────────┼───────────┤
│ degraded     │ O sistema está operacional  │ \> 0       │
│              │ mas uma ou mais unidades     │           │
│              │ falharam.                    │           │
├──────────────┼────────────────────────────┼───────────┤
│ maintenance  │ O alvo de recuperação ou     │ \> 0       │
│              │ emergência está ativo.      │           │
├──────────────┼────────────────────────────┼───────────┤
│ stopping     │ O gerenciador está         │ \> 0       │
│              │ desligando.                │           │
├──────────────┼────────────────────────────┼───────────┤
│ offline      │ O gerenciador não está      │ \> 0       │
│              │ em execução. Especificamente,│           │
│              │ este é o estado operacional  │           │
│              │ se um programa incompatível  │           │
│              │ estiver em execução como     │           │
│              │ gerenciador de sistema (PID 1).│           │
├──────────────┼────────────────────────────┼───────────┤
│ unknown      │ O estado operacional não     │ \> 0       │
│              │ pôde ser determinado, devido  │           │
│              │ à falta de recursos ou outra │           │
│              │ causa de erro.              │           │
└──────────────┴────────────────────────────┴───────────┘

Adicionado na versão 215.

default

Entra no modo padrão. Isso é equivalente a systemctl isolate default.target. Esta operação é bloqueante por padrão, use --no-block para solicitar um comportamento assíncrono.

rescue

Entra no modo de resgate. Isso é equivalente a systemctl isolate rescue.target. Esta operação é bloqueante por padrão, use --no-block para solicitar um comportamento assíncrono.

emergency

Entra no modo de emergência. Isso é equivalente a systemctl isolate emergency.target. Esta operação é bloqueante por padrão, use --no-block para solicitar um comportamento assíncrono.

halt

Desliga e interrompe o sistema. Isso é em grande parte equivalente a systemctl start halt.target --job-mode=replace-irreversibly --no-block, mas também imprime uma mensagem para todos os usuários. Este comando é assíncrono; ele retornará após a operação de desligamento ser enfileirada, sem esperar que ela seja concluída. Observe que esta operação simplesmente interromperá o kernel do SO após o desligamento, deixando o hardware ligado. Use systemctl poweroff para desligar o sistema (veja abaixo).

Se combinado com --force, o desligamento de todos os serviços em execução é ignorado, no entanto, todos os processos são encerrados e todos os sistemas de arquivos são desmontados ou montados em modo somente leitura, imediatamente seguido pelo desligamento do sistema. Se --force for especificado duas vezes, a operação será executada imediatamente sem encerrar nenhum processo ou desmontar nenhum sistema de arquivos. Isso pode resultar em perda de dados. Observe que, quando --force é especificado duas vezes, a operação de desligamento é executada pelo próprio systemctl e o gerenciador de sistema não é contatado. Isso significa que o comando deve ser bem-sucedido, mesmo quando o gerenciador de sistema falha.

Se combinado com --when=, o desligamento será agendado após o horário especificado. E --when=cancel cancelará o desligamento.

poweroff

Desliga o sistema. Isso é em grande parte equivalente a systemctl start poweroff.target --job-mode=replace-irreversibly --no-block, mas também imprime uma mensagem para todos os usuários. Este comando é assíncrono; ele retornará após a operação de desligamento ser enfileirada, sem esperar que ela seja concluída.

Este comando respeita --force e --when= de maneira semelhante a halt.

reboot

Desliga e reinicia o sistema.

Este comando é em grande parte equivalente a systemctl start reboot.target --job-mode=replace-irreversibly --no-block, mas também imprime uma mensagem para todos os usuários. Este comando é assíncrono; ele retornará após a operação de reinicialização ser enfileirada, sem esperar que ela seja concluída.

Se a opção --reboot-argument= for fornecida, ela será passada como o argumento opcional para o reboot(2) system call.

As opções --boot-loader-entry=, --boot-loader-menu= e --firmware-setup podem ser usadas para selecionar o que fazer após a reinicialização. Consulte as descrições dessas opções para obter mais detalhes.

Este comando respeita --force e --when= de maneira semelhante a halt.


Se um novo kernel foi carregado via kexec --load, um kexec será executado em vez de uma reinicialização, a menos que SYSTEMCTL_SKIP_AUTO_KEXEC=1 esteja definido. Se um novo sistema de arquivos raiz foi configurado em /run/nextroot/, uma reinicialização suave será executada em vez de uma reinicialização, a menos que SYSTEMCTL_SKIP_AUTO_SOFT_REBOOT=1 esteja definido.

Adicionado na versão 246.

kexec

Desliga e reinicia o sistema via kexec. Este comando carregará um kernel kexec se um ainda não tiver sido carregado ou falhará. Um kernel pode ser carregado anteriormente por uma etapa separada, o que é particularmente útil se um initrd personalizado ou opções adicionais de linha de comando do kernel forem desejados. A opção --force pode ser usada para continuar sem um kernel kexec, ou seja, para executar uma reinicialização normal. A etapa final de reinicialização é equivalente a systemctl start kexec.target --job-mode=replace-irreversibly --no-block.

Para carregar um kernel, uma enumeração é realizada seguindo a especificação UAPI.1 Boot Loader[1], e a entrada de inicialização padrão é carregada. Para que esta etapa seja bem-sucedida, o sistema deve estar usando UEFI e as entradas do gerenciador de inicialização devem ser configuradas adequadamente. bootctl list pode ser usado para listar as entradas de inicialização, veja bootctl(1).

Este comando é assíncrono; ele retornará após a operação de reinicialização ser enfileirada, sem aguardar sua conclusão.

Este comando respeita --force e --when= de forma semelhante a halt.

Se um novo kernel foi carregado via kexec --load, um kexec será executado quando a reinicialização for invocada, a menos que SYSTEMCTL_SKIP_AUTO_KEXEC=1 esteja definido.

soft-reboot

Desliga e reinicia o espaço do usuário. Isso é equivalente a systemctl start soft-reboot.target --job-mode=replace-irreversibly --no-block. Este comando é assíncrono; ele retornará após a operação de reinicialização ser enfileirada, sem aguardar sua conclusão.

Este comando respeita --force e --when= de maneira semelhante a halt.

Esta operação reinicia apenas o espaço do usuário, deixando o kernel em execução. Veja systemd-softreboot.service(8) para detalhes.

Se um novo sistema de arquivos raiz foi configurado em /run/nextroot/, uma reinicialização suave será executada quando a reinicialização for invocada, a menos que SYSTEMCTL_SKIP_AUTO_SOFT_REBOOT=1 esteja definido.

Adicionado na versão 254.

exit [EXIT_CODE]

Solicita ao gerenciador de serviços que saia. Isso é suportado apenas para gerenciadores de serviços de usuário (ou seja, em conjunto com a opção --user) ou em contêineres e é equivalente a poweroff caso contrário. Este comando é assíncrono; ele retornará após a operação de saída ser enfileirada, sem aguardar sua conclusão.

O gerenciador de serviços sairá com o código de saída especificado, se EXIT_CODE for passado.

Adicionado na versão 227.

switch-root [ROOT [INIT]]

Muda para um diretório raiz diferente e executa um novo processo do gerenciador de sistema abaixo dele. Isso é destinado ao uso no initrd, e fará a transição do processo do gerenciador de sistema initrd (também conhecido como processo "init", PID 1) para o processo do gerenciador de sistema principal que é carregado do sistema de arquivos raiz do host real. Esta chamada recebe dois argumentos: o diretório que se tornará o novo diretório raiz e o caminho para o novo binário do gerenciador de sistema abaixo dele para executar como PID 1. Se ambos forem omitidos ou o primeiro for uma string vazia, ele assume o valor padrão de /sysroot/. Se o último for omitido ou for uma string vazia, um binário systemd será pesquisado automaticamente e usado como gerenciador de serviço. Se o caminho do gerenciador de sistema for omitido, for igual a uma string vazia ou for idêntico ao caminho para o binário systemd, o estado do processo do gerenciador de sistema initrd será passado para o gerenciador de sistema principal, o que permite a introspecção posterior do estado dos serviços envolvidos na fase de inicialização initrd.


Adicionado na versão 209.

sleep

Coloca o sistema em modo de suspensão, através de suspensão, hibernação, suspensão híbrida ou suspensão seguida de hibernação. A operação de suspensão a ser usada é selecionada automaticamente por systemd-logind.service(8). Por padrão, suspensão seguida de hibernação é usada e, se não for suportada, ele retorna para suspensão e, em seguida, hibernação. Consulte a configuração SleepOperation= em logind.conf(5) para obter mais detalhes. Este comando é assíncrono e retornará após a operação de suspensão ser enfileirada com sucesso. Ele não aguardará a conclusão do ciclo de suspensão/retorno.

Adicionado na versão 256.

suspend

Suspende o sistema. Isso acionará a ativação da unidade de destino especial suspend.target. Este comando é assíncrono e retornará após a operação de suspensão ser enfileirada com sucesso. Ele não aguardará a conclusão do ciclo de suspensão/retorno.

Se --force for especificado e systemd-logind retornar um erro para a operação, o erro será ignorado e a operação será tentada novamente diretamente, iniciando a unidade de destino.

hibernate

Hiberna o sistema. Isso acionará a ativação da unidade de destino especial hibernate.target. Este comando é assíncrono e retornará após a operação de hibernação ser enfileirada com sucesso. Ele não aguardará a conclusão do ciclo de hibernação/descongelamento.

Este comando honra --force da mesma forma que suspend.

hybrid-sleep

Hiberna e suspende o sistema. Isso acionará a ativação da unidade de destino especial hybrid-sleep.target. Este comando é assíncrono e retornará após a operação de suspensão híbrida ser enfileirada com sucesso. Ele não aguardará a conclusão do ciclo de suspensão/ativação.

Este comando honra --force da mesma forma que suspend.

Adicionado na versão 196.

suspend-then-hibernate

Suspende o sistema e o hiberna quando a bateria estiver fraca ou quando o atraso especificado em systemd-sleep.conf for atingido. Isso acionará a ativação da unidade de destino especial suspend-then-hibernate.target. Este comando é assíncrono e retornará após a operação de suspensão híbrida ser enfileirada com sucesso. Ele não aguardará a conclusão do ciclo de suspensão/ativação ou hibernação/descongelamento.

Este comando honra --force da mesma forma que suspend.

Adicionado na versão 240.

Sintaxe do parâmetro

Os comandos de unidade listados acima recebem um único nome de unidade (designado como UNIT) ou várias especificações de unidade (designado como PATTERN...). No primeiro caso, o nome da unidade com ou sem um sufixo deve ser fornecido. Se o sufixo não for especificado (o nome da unidade é "abreviado"), systemctl anexará um sufixo adequado, ".service" por padrão e um sufixo específico do tipo, no caso de comandos que operam apenas em tipos de unidade específicos. Por exemplo,


# systemctl start sshd

e

# systemctl start sshd.service

são equivalentes, assim como

# systemctl isolate default

e

# systemctl isolate default.target

Observe que caminhos absolutos para nós de dispositivo são automaticamente convertidos em nomes de unidades de dispositivo, e outros caminhos absolutos para unidades de montagem.

# systemctl status /dev/sda
# systemctl status /home

são equivalentes a:

# systemctl status dev-sda.device
# systemctl status home.mount

No segundo caso, globos no estilo shell serão correspondidos com os nomes primários de todas as unidades atualmente na memória; nomes de unidades literais, com ou sem um sufixo, serão tratados como no primeiro caso. Isso significa que nomes de unidades literais sempre se referem a exatamente uma unidade, mas globos podem corresponder a zero unidades e isso não é considerado um erro.

Padrões glob utilizam fnmatch(3), então as regras normais de glob do shell são usadas, e "*", "?", "[]" podem ser usados. Consulte glob(7) para mais detalhes. Os padrões são correspondidos com os nomes primários das unidades atualmente na memória, e padrões que não correspondem a nada são silenciosamente ignorados. Por exemplo:

# systemctl stop "sshd@*.service"

irá parar todas as instâncias [email protected]. Observe que nomes alias de unidades e unidades que não estão
na memória não são considerados para expansão de glob.

Para comandos de arquivo de unidade, a UNIDADE especificada deve ser o nome do arquivo de unidade (possivelmente abreviado, veja acima), ou o caminho absoluto para o arquivo de unidade:

# systemctl enable foo.service

ou

# systemctl link /path/to/foo.service

OPÇÕES

As seguintes opções são suportadas:

-t, --type=
O argumento é uma lista separada por vírgulas de tipos de unidade, como service e socket. Quando unidades
são listadas com list-units, list-dependencies, show ou status, apenas unidades dos tipos especificados
serão mostradas. Por padrão, unidades de todos os tipos são mostradas.

Como um caso especial, se um dos argumentos for help, uma lista de valores permitidos será impressa
e o programa será encerrado.

--state=
O argumento é uma lista separada por vírgulas de estados de unidade LOAD, SUB ou ACTIVE. Quando unidades
são listadas com list-units, list-dependencies, show ou status, mostre apenas aquelas nos estados especificados. Use --state=failed ou --failed para mostrar apenas unidades com falha.

Como um caso especial, se um dos argumentos for help, uma lista de valores permitidos será impressa
e o programa será encerrado.

Adicionado na versão 206.

-p, --property=
Quando mostrando propriedades de unidade/job/gerenciador com o comando show, limite a exibição às propriedades
especificadas no argumento. O argumento deve ser uma lista separada por vírgulas de nomes de propriedade,
como "MainPID". A menos que especificado, todas as propriedades conhecidas são mostradas. Se especificado mais de uma vez, todas as propriedades com os nomes especificados são mostradas. A conclusão do shell é implementada para
nomes de propriedade.

Para o próprio gerenciador, systemctl show exibirá todas as propriedades disponíveis, a maioria das quais é derivada ou corresponde estreitamente às opções descritas em systemd-system.conf(5).

As propriedades para unidades variam de acordo com o tipo de unidade, portanto, exibir qualquer unidade (mesmo uma inexistente) é uma forma de listar as propriedades pertinentes a este tipo. Da mesma forma, exibir qualquer trabalho listará as propriedades pertinentes a todos os trabalhos. As propriedades para unidades estão documentadas em systemd.unit(5) e nas páginas para tipos de unidades individuais systemd.service(5), systemd.socket(5), etc.

-P

Equivalente a --value --property=, ou seja, exibe o valor da propriedade sem o nome da propriedade ou o sinal de "=". Observe que o uso de -P uma vez também afetará todas as propriedades listadas com -p/--property=.

Adicionado na versão 246.

-a, --all

Ao listar unidades com list-units, também exibe as unidades inativas e as unidades que estão seguindo outras unidades. Ao exibir propriedades de unidade/trabalho/gerenciador, exibe todas as propriedades, independentemente de estarem definidas ou não.

Para listar todas as unidades instaladas no sistema de arquivos, use o comando list-unit-files em vez disso.

Ao listar unidades com list-dependencies, exibe recursivamente as dependências de todas as unidades dependentes (por padrão, apenas as dependências das unidades de destino são exibidas).

Quando usado com status, exibe as mensagens do diário na íntegra, mesmo que incluam caracteres não imprimíveis ou sejam muito longas. Por padrão, os campos com caracteres não imprimíveis são abreviados como "blob data". (Observe que o paginador pode escapar os caracteres não imprimíveis novamente.)

-r, --recursive

Ao listar unidades, também exibe as unidades de contêineres locais. As unidades de contêineres locais serão prefixadas com o nome do contêiner, separadas por um único caractere de dois pontos (":").

Adicionado na versão 212.

--reverse

Exibe as dependências inversas entre as unidades com list-dependencies, ou seja, segue as dependências dos tipos WantedBy=, RequiredBy=, UpheldBy=, PartOf=, BoundBy=, em vez de Wants= e semelhantes.

Adicionado na versão 203.

--after

Com list-dependencies, exibe as unidades que são ordenadas antes da unidade especificada. Em outras palavras, lista recursivamente as unidades que seguem a dependência After=.

Observe que qualquer dependência After= é automaticamente espelhada para criar uma dependência Before=. As dependências temporais podem ser especificadas explicitamente, mas também são criadas implicitamente para unidades que são alvos de WantedBy= e como resultado de outras diretivas (por exemplo, RequiresMountsFor=). Tanto as dependências explicitamente introduzidas quanto as implicitamente introduzidas são exibidas com list-dependencies.

Quando passado para o comando list-jobs, para cada trabalho impresso, exibe quais outros trabalhos estão esperando por ele. Pode ser combinado com --before para exibir tanto os trabalhos que estão esperando por cada trabalho quanto todos os trabalhos que cada trabalho está esperando.

Adicionado na versão 203.

--before

Com list-dependencies, exibe as unidades que são ordenadas após a unidade especificada. Em outras palavras, lista recursivamente as unidades que seguem a dependência Before=.


Quando passado para o comando list-jobs, para cada tarefa impressa, exibe quais outras tarefas ela está aguardando. Pode ser combinado com --after para mostrar tanto as tarefas que estão aguardando cada tarefa quanto todas as tarefas que cada tarefa está aguardando.

Adicionado na versão 212.

--with-dependencies

Quando usado com status, cat, list-units e list-unit-files, esses comandos imprimem todas as unidades especificadas e as dependências dessas unidades.

As opções --reverse, --after e --before podem ser usadas para alterar os tipos de dependências que são mostradas.

Adicionado na versão 245.

-l, --full

Não elide nomes de unidades, entradas de árvore de processos, saída do journal ou trunca descrições de unidades na saída dos comandos status, list-units, list-jobs e list-timers.

Além disso, mostra os destinos de instalação na saída do comando is-enabled.

--value

Ao imprimir propriedades com show, imprime apenas o valor e omite o nome da propriedade e o sinal "=". Consulte também a opção -P acima.

Adicionado na versão 230.

--show-types

Ao mostrar sockets, mostra o tipo de socket.

Adicionado na versão 202.

--job-mode=

Ao enfileirar uma nova tarefa, esta opção controla como lidar com as tarefas já enfileiradas. Aceita um dos seguintes valores: "fail", "lenient", "replace", "replace-irreversibly", "isolate", "ignore-dependencies", "ignore-requirements", "flush", "triggering" ou "restart-dependencies". O padrão é "replace", exceto quando o comando isolate é usado, o que implica o modo de tarefa "isolate".

Se "fail" for especificado e uma operação solicitada em dependências fracas conflitar com uma tarefa pendente (mais especificamente: fizer com que uma tarefa de início já pendente seja revertida para uma tarefa de parada ou vice-versa), faz com que a operação falhe.

Se "lenient" for especificado e uma operação solicitada conflitar com qualquer unidade ativa/em ativação, faz com que a operação falhe.

Se "replace" (o padrão) for especificado, qualquer tarefa pendente conflitante será substituída, conforme necessário.

Se "replace-irreversibly" for especificado, opera como "replace", mas também marca as novas tarefas como irreversíveis. Isso impede que transações conflitantes futuras substituam essas tarefas (ou até mesmo sejam enfileiradas enquanto as tarefas irreversíveis ainda estiverem pendentes). As tarefas irreversíveis ainda podem ser canceladas usando o comando cancel. Este modo de tarefa deve ser usado em qualquer transação que inclua shutdown.target.

"isolate" é válido apenas para operações de início e faz com que todas as outras unidades sejam interrompidas quando a unidade especificada for iniciada. Este modo é sempre usado quando o comando isolate é usado.

"flush" fará com que todas as tarefas enfileiradas sejam canceladas quando a nova tarefa for enfileirada.

Se "ignore-dependencies" for especificado, todas as dependências de unidade serão ignoradas para esta nova tarefa e a operação será executada imediatamente. Se passado, nenhuma unidade exigida da unidade passada será incluída e nenhuma dependência de ordem será respeitada. Esta é principalmente uma ferramenta de depuração e resgate para o administrador e não deve ser usada por aplicativos.

"ignore-requirements" é semelhante a "ignore-dependencies", mas apenas faz com que as dependências de requisitos sejam ignoradas; as dependências de ordem ainda serão respeitadas.

"triggering" só pode ser usado com systemctl stop. Neste modo, a unidade especificada e quaisquer unidades ativas que a acionam são interrompidas. Consulte a discussão sobre Triggers= em systemd.unit(5) para obter mais informações sobre unidades de acionamento.

"restart-dependencies" só pode ser usado com systemctl start. Neste modo, as dependências da unidade especificada receberão a propagação de reinicialização, como se um trabalho de reinicialização tivesse sido enfileirado para a unidade.

Adicionado na versão 209.

-T, --show-transaction
Ao enfileirar um trabalho de unidade (por exemplo, como efeito de uma invocação systemctl start ou similar), exiba informações concisas sobre todos os trabalhos enfileirados, cobrindo tanto o trabalho solicitado quanto quaisquer trabalhos adicionados devido às dependências da unidade. Observe que a saída incluirá apenas os trabalhos que fazem parte imediata da transação solicitada. É possível que o código do programa de inicialização do serviço, executado como efeito dos trabalhos enfileirados, solicite que trabalhos adicionais sejam incluídos. Isso significa que a conclusão dos trabalhos listados pode, em última análise, envolver mais trabalhos do que os listados.

Adicionado na versão 242.

--fail
Forma abreviada para --job-mode=fail.

Quando usado com o comando kill, se nenhuma unidade foi interrompida, a operação resulta em um erro.

Adicionado na versão 227.

--check-inhibitors=
Quando o desligamento ou o estado de suspensão do sistema são solicitados, esta opção controla a verificação de bloqueios de inibidor. Aceita um de "auto", "yes" e "no". O padrão é "auto", o que significa que o logind realizará a verificação e respeitará os bloqueios de inibidor ativos, mas o systemctl fará apenas uma verificação do lado do cliente para invocações interativas (ou seja, de um TTY), para que uma mensagem de erro mais amigável e informativa possa ser retornada aos usuários. "no" desabilita as verificações tanto no systemctl quanto no systemd-logind(8).

Os aplicativos podem estabelecer bloqueios de inibidor para impedir que certas operações importantes (como a gravação de CD) sejam interrompidas pelo desligamento ou pelo estado de suspensão do sistema. Qualquer usuário pode obter esses bloqueios e usuários privilegiados podem substituir esses bloqueios. Se algum bloqueio for obtido, as solicitações de desligamento e estado de suspensão normalmente falharão (a menos que sejam explicitamente substituídas com "no").

A opção --force fornece outra maneira de substituir os inibidores.

Adicionado na versão 248.

-i
Forma abreviada para --check-inhibitors=no.

Adicionado na versão 198.

--dry-run
Apenas imprima o que seria feito. Atualmente, é suportado pelos verbos halt, poweroff, reboot, kexec, suspend, hibernate, hybrid-sleep, suspend-then-hibernate, default, rescue, emergency e exit.

Adicionado na versão 236.

-q, --quiet
Suprime a impressão dos resultados de vários comandos e também as dicas sobre linhas de log truncadas. Isso não suprime a saída de comandos para os quais a saída impressa é o único resultado (como show). Os erros são sempre impressos.

-v, --verbose
Exibe a saída do log da unidade durante a execução de operações de unidade.

Adicionado na versão 258.

--no-warn
Não gere os avisos mostrados por padrão nos seguintes casos:

Quando systemctl é invocado sem o sistema de arquivos /proc/ montado,

Ao usar enable ou disable em unidades sem informações de instalação (ou seja, não possuem ou possuem uma seção [Install] vazia),

Ao usar disable combinado com --user em unidades que estão habilitadas no escopo global,

Quando uma unidade parada, desabilitada ou mascarada ainda possui unidades de acionamento ativas,

Quando um arquivo de unidade é alterado e requer daemon-reload.

Adicionado na versão 253.

--no-block

Não espere de forma síncrona que a operação solicitada seja concluída. Se não for especificado, o job será verificado, enfileirado e systemctl aguardará até que a inicialização da unidade seja concluída. Ao passar este argumento, apenas verifica e enfileira. Esta opção não pode ser combinada com --wait.

--wait

Quando usado com start ou restart, espere de forma síncrona que as unidades iniciadas terminem novamente. Esta opção não pode ser combinada com --no-block. Observe que isso aguardará indefinidamente se alguma unidade não terminar (por conta própria ou sendo parada explicitamente); particularmente serviços que usam "RemainAfterExit=yes".

Quando usado com is-system-running, aguarde até que o processo de inicialização seja concluído antes de retornar.

Quando usado com kill, aguarde até que as unidades sinalizadas terminem. Observe que isso aguardará indefinidamente se alguma unidade não terminar.

Adicionado na versão 232.

--user

Comunique-se com o gerenciador de serviços do usuário que está chamando, em vez do gerenciador de serviços do sistema.

--system

Comunique-se com o gerenciador de serviços do sistema. Este é o padrão implícito.

--failed

Liste as unidades em estado de falha. Isso é equivalente a --state=failed.

Adicionado na versão 233.

--no-wall

Não envie uma mensagem de parede antes de halt, power-off e reboot.

--global

Quando usado com enable e disable, opere no diretório de configuração de usuário global, habilitando ou desabilitando um arquivo de unidade globalmente para todos os logins futuros de todos os usuários.

--no-reload

Quando usado com enable, disable, preset, mask ou unmask, não recarregue implicitamente a configuração do daemon após executar as alterações.

--kill-whom=

Quando usado com kill, escolha quais processos enviar um sinal de processo UNIX. Deve ser um de main, control, cgroup ou all para selecionar se deve matar apenas o processo principal, o processo de controle, todos os processos no grupo de controle da unidade ou todos os processos da unidade. O processo principal da unidade é aquele que define o tempo de vida dela. Um processo de controle de uma unidade é aquele que é invocado pelo gerenciador para induzir mudanças de estado nela. Por exemplo, todos os processos iniciados devido às configurações ExecStartPre=, ExecStop= ou ExecReload= de unidades de serviço são processos de controle. Observe que há apenas um processo de controle por unidade por vez, pois apenas uma mudança de estado é executada por vez. Para unidades de serviço do tipo Type=forking, o processo inicial iniciado pelo gerenciador para ExecStart= é um processo de controle, enquanto o processo finalmente ramificado desse é considerado o processo principal da unidade (se puder ser determinado). Isso é diferente para unidades de serviço de outros tipos, onde o processo ramificado pelo gerenciador para ExecStart= é sempre o próprio processo principal. Uma unidade de serviço consiste em zero ou um processo principal, zero ou um processo de controle mais qualquer número de processos adicionais que fazem parte do grupo de controle da unidade. Nem todos os tipos de unidade gerenciam processos desses tipos, no entanto. Por exemplo, para unidades de montagem, os processos de controle são definidos (que são as invocações de /usr/bin/mount e /usr/bin/umount), mas nenhum processo principal é definido. Se omitido, o padrão é all, exceto se --kill-subgroup= for usado, caso em que o padrão é cgroup.


Adicionado na versão 252.

--kill-value=INT

Se usado com o comando kill, enfileira um sinal junto com o valor inteiro especificado como parâmetro para o(s) processo(s) especificado(s). Esta operação está disponível apenas para Sinais POSIX em Tempo Real (ou seja, --signal=SIGRTMIN+... ou --signal=SIGRTMAX-...), e garante que os sinais sejam gerados através da chamada de sistema sigqueue(3), em vez de kill(3). O valor especificado deve ser um inteiro assinado de 32 bits, e pode ser especificado em decimal, em hexadecimal (se prefixado com "0x"), octal (se prefixado com "0o") ou binário (se prefixado com "0b").

Se esta opção for usada, o sinal será enfileirado apenas no processo de controle ou principal da unidade, nunca em outros processos pertencentes à unidade, ou seja, --kill-whom=all afetará apenas os processos principal e de controle, mas não outros processos.

Adicionado na versão 254.

--kill-subgroup=PATH

Aceita um subcaminho de grupo de controle para enviar sinais, para uso com o comando kill. Por padrão, o sinal escolhido é entregue a todos os processos dos cgroups da unidade (bem como aos processos principal/de controle (se estiverem fora) – sujeito a --kill-whom=). Mas com esta opção, um subgrupo pode ser selecionado em vez disso. Esta funcionalidade está disponível apenas se "cgroup" ou "cgroup-fail" forem usados com --kill-whom=, e, de fato, o primeiro é o padrão se --kill-subgroup= for usado.

O caminho especificado pode, mas não precisa ser prefixado com uma barra, e sua ausência ou presença não tem efeito, o caminho é, de qualquer forma, considerado relativo ao caminho principal do grupo de controle da unidade.

Esta funcionalidade está disponível apenas em unidades onde a delegação do grupo de controle está habilitada (veja Delegate= em systemd.resource-control(5)).

Adicionado na versão 258.

-s, --signal=

Quando usado com kill, escolha qual sinal enviar para os processos selecionados. Deve ser um dos especificadores de sinal conhecidos, como SIGTERM, SIGINT ou SIGSTOP. Se omitido, o padrão é SIGTERM.

O valor especial "help" listará os valores conhecidos e o programa será encerrado imediatamente, e o valor especial "list" listará os valores conhecidos junto com os números de sinal numéricos e o programa será encerrado imediatamente.

--what=

Selecione qual tipo de recursos por unidade remover quando o comando clean for invocado, veja acima. Aceita um dos valores configuration, state, cache, logs, runtime, fdstore para selecionar o tipo de recurso. Esta opção pode ser especificada mais de uma vez, caso em que todos os tipos de recursos especificados serão removidos. Também aceita o valor especial all como um atalho para especificar todos os seis tipos de recursos. Se esta opção não for especificada, o padrão será a combinação de cache, runtime e fdstore, ou seja, os três tipos de recursos que são geralmente considerados redundantes e podem ser reconstruídos na próxima invocação. Observe que a remoção explícita do tipo de recurso fdstore só é útil se a opção FileDescriptorStorePreserve= estiver habilitada, pois o armazenamento de descritores de arquivo é limpo automaticamente quando a unidade é interrompida.


Adicionado na versão 243.

-f, --force

Quando usado com enable, sobrescreve quaisquer symlinks conflitantes existentes.

Quando usado com edit, cria todas as unidades especificadas que ainda não existem.

Quando usado com suspend, hibernate, hybrid-sleep ou suspend-then-hibernate, o erro retornado por systemd-logind é ignorado, e a operação é realizada diretamente através do início das unidades correspondentes.

Quando usado com halt, poweroff, reboot ou kexec, executa a operação selecionada sem desligar todas as unidades. No entanto, todos os processos serão interrompidos forçadamente e todos os sistemas de arquivos serão desmontados ou remontados em modo somente leitura. Esta é, portanto, uma opção drástica, mas relativamente segura para solicitar uma reinicialização imediata. Se --force for especificado duas vezes para essas operações (com a exceção de kexec), elas serão executadas imediatamente, sem encerrar nenhum processo ou desmontar nenhum sistema de arquivos.

Aviso Especificar --force duas vezes com qualquer uma dessas operações pode resultar em perda de dados. Observe que quando --force é especificado duas vezes, o comando selecionado é executado pelo próprio systemctl, e o gerenciador de sistema não é contatado. Isso significa que o comando deve ter sucesso mesmo quando o gerenciador de sistema falhou.

--message=

Quando usado com halt, poweroff ou reboot, define uma mensagem curta explicando o motivo da operação. A mensagem será registrada juntamente com a mensagem de desligamento padrão.

Adicionado na versão 225.

--now

Quando usado com enable, disable, mask ou reenable, também inicia/para/tenta reiniciar as unidades após o sucesso das operações de arquivo de unidade especificadas.

Adicionado na versão 220.

--root=

Quando usado com enable/disable/is-enabled (e comandos relacionados), usa o caminho raiz especificado ao procurar arquivos de unidade. Se esta opção estiver presente, systemctl operará diretamente no sistema de arquivos, em vez de se comunicar com o daemon systemd para realizar as alterações.

--image=image

Aceita um caminho para um arquivo de imagem de disco ou nó de dispositivo de bloco. Se especificado, todas as operações são aplicadas ao sistema de arquivos no disco de imagem indicado. Esta opção é semelhante a --root=, mas opera em sistemas de arquivos armazenados em imagens de disco ou dispositivos de bloco. A imagem de disco deve conter apenas um sistema de arquivos ou um conjunto de sistemas de arquivos dentro de uma tabela de partição GPT, seguindo a UAPI.2 Discoverable Partitions Specification[2]. Para mais informações sobre imagens de disco suportadas, consulte systemd-nspawn(1)'s switch do mesmo nome.

--image-policy=policy
Aceita uma string de política de imagem como argumento, conforme systemd.image-policy(7). A política é
aplicada quando opera na imagem de disco especificada via --image=, veja acima. Se não for
especificada, o padrão é a política "*", ou seja, todos os sistemas de arquivos reconhecidos na imagem são
utilizados.

--runtime
Quando usado com enable, disable, edit (e comandos relacionados), faz as alterações apenas temporariamente,
de modo que elas sejam perdidas na próxima reinicialização. Isso terá o efeito de que as alterações não são feitas
em subdiretórios de /etc/, mas em /run/, com efeitos imediatos idênticos, no entanto, como este último é perdido na reinicialização, as alterações também são perdidas.

Da mesma forma, quando usado com set-property, faz as alterações apenas temporariamente, de modo que elas sejam perdidas
na próxima reinicialização.

--preset-mode=
Aceita um de "full" (o padrão), "enable-only", "disable-only". Quando usado com os comandos preset
ou preset-all, controla se as unidades devem ser desativadas e ativadas de acordo com as regras de preset, ou apenas ativadas, ou apenas desativadas.

Adicionado na versão 215.

-n, --lines=
Quando usado com status, controla o número de linhas do journal a serem exibidas, contando a partir das mais recentes.
Aceita um argumento inteiro positivo ou 0 para desativar a saída do journal. O padrão é

-o, --output=
Quando usado com status, controla a formatação das entradas do journal que são exibidas. Para os
valores disponíveis, consulte [journalctl]({filename}../../journalctl)(1). O padrão é "short".

--firmware-setup
Quando usado com os comandos reboot, poweroff ou halt, indica ao firmware do sistema para
reiniciar na interface de configuração do firmware na próxima inicialização. Observe que esta funcionalidade não está disponível em todos os sistemas.

Adicionado na versão 220.

--boot-loader-menu=timeout
Quando usado com os comandos reboot, poweroff ou halt, indica ao boot loader do sistema para
exibir o menu do boot loader na próxima inicialização. Aceita um valor de tempo como parâmetro — indicando
o tempo limite do menu. Passe zero para desativar o tempo limite do menu. Observe que nem todos os boot
loaders suportam esta funcionalidade.

Adicionado na versão 242.

--boot-loader-entry=ID
Quando usado com os comandos reboot, poweroff ou halt, indica ao boot loader do sistema para
inicializar em uma entrada específica do boot loader na próxima inicialização. Aceita um identificador de entrada do boot loader como argumento, ou "help" para listar as entradas disponíveis. Observe que nem todos os boot
loaders suportam esta funcionalidade.

Adicionado na versão 242.

--reboot-argument=
Esta opção é usada com reboot. O valor é específico da arquitetura e do firmware. Por exemplo,
"recovery" pode ser usado para acionar a recuperação do sistema e "fota" pode ser usado para
acionar uma atualização de "firmware over the air".

Adicionado na versão 246.

--plain
Quando usado com list-dependencies, list-units ou list-machines, a saída é impressa como uma
lista em vez de uma árvore e os círculos de marcadores são omitidos.

Adicionado na versão 203.

--timestamp=
Altera o formato dos timestamps impressos. Os seguintes valores podem ser usados:

pretty (este é o padrão)
"Dia AAAA-MM-DD HH:MM:SS TZ"

Adicionado na versão 248.

unix
"@segundos-desde-a-época"

Adicionado na versão 251.

us, μs
"Dia AAAA-MM-DD HH:MM:SS.UUUUUU TZ"

Adicionado na versão 248.

utc
"Dia AAAA-MM-DD HH:MM:SS UTC"

Adicionado na versão 248.

us+utc, μs+utc
"Dia AAAA-MM-DD HH:MM:SS.UUUUUU UTC"

Adicionado na versão 248. Adicionado na versão 247.

--mkdir

Quando usado com bind, cria o arquivo ou diretório de destino antes de aplicar o ponto de montagem. Observe que, embora o nome desta opção sugira que ela é adequada apenas para diretórios, esta opção também cria o nó de arquivo de destino para montar, caso o objeto a ser montado não seja um diretório, mas um arquivo regular, um nó de dispositivo, um socket ou um FIFO.

Adicionado na versão 248.

--marked

Permitido apenas com reload-or-restart. Coloca em fila trabalhos de reinicialização para todas as unidades que possuem a marca "needs-restart" e trabalhos de recarregamento para unidades que possuem a marca "needs-reload". Quando uma unidade marcada para recarregamento não suporta recarregamento, um trabalho de reinicialização será colocado em fila. Essas propriedades podem ser definidas usando set-property Markers=....

A menos que --no-block seja usado, systemctl aguardará a conclusão dos trabalhos em fila.

Adicionado na versão 248.

--read-only

Quando usado com bind, cria um ponto de montagem bind somente leitura.

Adicionado na versão 248.

--drop-in=NOME

Quando usado com edit, use NOME como o nome do arquivo drop-in em vez de override.conf.

Adicionado na versão 253.

--when=

Quando usado com halt, poweroff, reboot ou kexec, agende a ação para ser executada no carimbo de data/hora fornecido, que deve aderir à sintaxe documentada em systemd.time(7) na seção "PARSING TIMESTAMPS". Especificamente, se "show" for fornecido, a ação atualmente agendada será exibida, que pode ser cancelada passando uma string vazia ou "cancel". "auto" agendará a ação de acordo com a janela de manutenção ou um minuto no futuro.

Adicionado na versão 254.

--stdin

Quando usado com edit, o conteúdo do arquivo será lido da entrada padrão e o editor não será iniciado. Neste modo, o conteúdo antigo do arquivo é completamente substituído. Isso é útil para "editar" arquivos de unidade a partir de scripts:

$ systemctl edit --drop-in=limits.conf --stdin some-service.service <<EOF
[Unit]
AllowedCPUs=7,11
EOF

Vários drop-ins podem ser "editados" neste modo; o mesmo conteúdo será gravado em todos eles.

Adicionado na versão 256.

-H, --host=

Execute a operação remotamente. Especifique um nome de host ou um nome de usuário e um nome de host separados por "@", para se conectar. O nome de host pode ser seguido opcionalmente por uma porta na qual o ssh está ouvindo, separada por ":", e, em seguida, um nome de contêiner, separado por "/", que se conecta diretamente a um contêiner específico no host especificado. Isso usará SSH para se comunicar com a instância do gerenciador de máquina remota. Os nomes dos contêineres podem ser enumerados com machinectl -H HOST. Coloque os endereços IPv6 entre colchetes.

-M, --machine=

Execute a operação em um contêiner local. Especifique um nome de contêiner para se conectar, opcionalmente prefixado com um nome de usuário para se conectar como e um caractere "@" separador. Se a string especial ".host" for usada no lugar do nome do contêiner, uma conexão com o sistema local será feita (o que é útil para se conectar a um usuário específico do barramento de usuário: "--user [email protected]"). Se a sintaxe "@" não for usada, a conexão será feita como usuário raiz. Se a sintaxe "@" for usada, tanto o lado esquerdo quanto o lado direito podem ser omitidos (mas não ambos), caso em que o nome de usuário local e ".host" são implícitos.


-C, --capsule=
Executa a operação em uma cápsula. Especifique o nome da cápsula para se conectar. Consulte [email protected](5)
para obter detalhes sobre cápsulas.

Adicionado na versão 256.

--no-ask-password
Não solicita ao usuário a autenticação para operações privilegiadas.

--no-pager
Não direciona a saída para um paginador.

--legend=BOOL
Habilita ou desabilita a impressão da legenda, ou seja, os cabeçalhos das colunas e o rodapé com dicas.
A legenda é impressa por padrão, a menos que desativada com --quiet ou similar.

-h, --help
Imprime um texto de ajuda curto e sai.

--version
Imprime uma string de versão curta e sai.

STATUS DE SAÍDA

Em caso de sucesso, 0 é retornado; caso contrário, um código de falha diferente de zero é retornado.

systemctl usa os códigos de retorno definidos por LSB, conforme definido em LSB 3.0.0[3].

Tabela 5. Códigos de retorno LSB

┌───────┬────────────────────────────┬──────────────────────────┐
│ Value │ Descrição em LSB         │ Uso em systemd           │
├───────┼────────────────────────────┼──────────────────────────┤
│ 0     │ "programa está em execução ou │ unidade está ativa       │
│       │ serviço está OK"             │                          │
├───────┼────────────────────────────┼──────────────────────────┤
│ 1     │ "programa está morto e       │ unidade não falhou (usado por │
│       │ /var/run arquivo pid existe"  │ is-failed)               │
├───────┼────────────────────────────┼──────────────────────────┤
│ 2     │ "programa está morto e       │ não utilizado             │
│       │ /var/lock arquivo lock        │                          │
│       │ existe"                    │                          │
├───────┼────────────────────────────┼──────────────────────────┤
│ 3     │ "programa não está em execução"   │ unidade não está ativa   │
├───────┼────────────────────────────┼──────────────────────────┤
│ 4     │ "status do programa ou serviço │ unidade inexistente      │
│       │ é desconhecido"            │                          │
└───────┴────────────────────────────┴──────────────────────────┘

O mapeamento dos estados de serviço LSB para os estados de unidade do systemd é imperfeito, portanto, é melhor não confiar nesses valores de retorno, mas procurar estados e subestados de unidade específicos.

AMBIENTE

$SYSTEMD_EDITOR
Editor a ser usado ao editar unidades; substitui $EDITOR e $VISUAL. Se nenhum de $SYSTEMD_EDITOR, $EDITOR ou $VISUAL estiver presente ou se estiver definido como uma string vazia ou se a execução falhar, o systemctl tentará executar editores bem conhecidos nesta ordem: editor(1), [nano]({filename}../../nano)(1), [vim]({filename}../../vim)(1), vi(1).

Adicionado na versão 218.

$SYSTEMD_LOG_LEVEL
O nível máximo de log das mensagens emitidas (mensagens com um nível de log mais alto, ou seja, menos importantes, serão suprimidas). Aceita uma lista separada por vírgulas de valores. Um valor pode ser um dos seguintes (em ordem de importância decrescente): emerg, alert, crit, err, warning, notice, info, debug ou um inteiro no intervalo de 0 a 7. Consulte syslog(3) para obter mais informações. Cada valor pode ser opcionalmente prefixado com um dos seguintes: console, syslog, kmsg ou journal seguido de dois pontos para definir o nível máximo de log para esse destino de log específico (por exemplo, SYSTEMD_LOG_LEVEL=debug,console:info especifica para registrar no nível de depuração, exceto quando registrar no console, que deve estar no nível de informação). Observe que o nível máximo de log global tem precedência sobre quaisquer níveis máximos de log por destino.

$SYSTEMD_LOG_COLOR
Um valor booleano. Se verdadeiro, as mensagens gravadas no terminal serão coloridas de acordo com a prioridade.

Essa configuração é útil apenas quando as mensagens são gravadas diretamente no terminal, pois [journalctl]({filename}../../journalctl)(1) e outras ferramentas que exibem logs colorirão as mensagens com base no nível de log por conta própria.

$SYSTEMD_LOG_TIME
Um valor booleano. Se verdadeiro, as mensagens de log do console serão prefixadas com um timestamp.

Essa configuração é útil apenas quando as mensagens são gravadas diretamente no terminal ou em um arquivo, pois [journalctl]({filename}../../journalctl)(1) e outras ferramentas que exibem logs anexarão timestamps com base nos metadados da entrada.

$SYSTEMD_LOG_LOCATION
Um valor booleano. Se verdadeiro, as mensagens serão prefixadas com um nome de arquivo e um número de linha no código-fonte de onde a mensagem se origina.

Observe que a localização do log geralmente é anexada como metadados às entradas do journal de qualquer maneira. Incluí-la diretamente no texto da mensagem pode ser útil ao depurar programas.

$SYSTEMD_LOG_TARGET
O destino para mensagens de log. Um dos seguintes: console (registrar no terminal conectado), console-prefixed (registrar no terminal conectado, mas com prefixos que codificam o nível de log e a "facilidade", consulte syslog(3), kmsg (registrar no buffer de log circular do kernel), journal (registrar no journal), journal-or-kmsg (registrar no journal, se disponível, e em kmsg, caso contrário), auto (determinar o destino de log apropriado automaticamente, o padrão), null (desativar a saída de log).

$SYSTEMD_PAGER, $PAGER
Paginador a ser usado quando --no-pager não for especificado. $SYSTEMD_PAGER é usado se estiver definido; caso contrário, $PAGER é usado. Se nem $SYSTEMD_PAGER nem $PAGER estiverem definidos, um conjunto de implementações de paginador bem conhecidas é testado em sequência, incluindo [less]({filename}../../less)(1) e more(1), até que um seja encontrado. Se nenhuma implementação de paginador for descoberta, nenhum paginador será invocado. Definir essas variáveis de ambiente para uma string vazia ou o valor "cat" é equivalente a passar --no-pager.

Observação: se $SYSTEMD_PAGERSECURE não estiver definido, $SYSTEMD_PAGER e $PAGER só podem ser usados para desabilitar o paginador (com "cat" ou ""), e são, caso contrário, ignorados.

$SYSTEMD_LESS
Substituir as opções passadas para less (por padrão "FRSXMK").

Os usuários podem querer alterar duas opções em particular:

K
Essa opção instrui o paginador a sair imediatamente quando Ctrl+C for pressionado. Para permitir que less lide com Ctrl+C para retornar ao prompt de comando do paginador, desative essa opção.

Se o valor de $SYSTEMD_LESS não incluir "K", e o paginador invocado for less, Ctrl+C será ignorado pelo executável e precisará ser tratado pelo paginador.

X
Essa opção instrui o paginador a não enviar strings de inicialização e desinicialização do termcap para o terminal. Está definido por padrão para permitir que a saída do comando permaneça visível no terminal mesmo após o paginador sair. No entanto, isso impede que algumas funcionalidades do paginador funcionem, em particular, a saída paginada não pode ser rolada com o mouse.

Observe que definir a variável de ambiente regular $LESS não tem efeito para as invocações de less pelos utilitários systemd.

Consulte [less]({filename}../../less)(1) para mais informações.

$SYSTEMD_LESSCHARSET
Substituir o conjunto de caracteres passado para less (por padrão "utf-8", se o terminal que invoca for determinado como compatível com UTF-8).

Observe que definir a variável de ambiente regular $LESSCHARSET não tem efeito para as invocações de less pelos utilitários systemd.

$SYSTEMD_PAGERSECURE
Comandos comuns do paginador como [less]({filename}../../less)(1), além de "paginar", ou seja, rolar a saída, suportam a abertura ou gravação em outros arquivos e a execução de comandos shell arbitrários.
Quando os comandos são invocados com privilégios elevados, por exemplo, sob [sudo]({filename}../../sudo)(8) ou pkexec(1), o paginador se torna um limite de segurança. Deve-se ter cuidado para que apenas programas com funcionalidade estritamente limitada sejam usados como paginadores, e recursos interativos não intencionais, como abertura ou criação de novos arquivos ou início de subprocessos, não sejam permitidos. O "modo seguro" para o paginador pode ser habilitado conforme descrito abaixo, se o paginador suportar isso (a maioria dos paginadores não é escrita de forma que isso seja considerado). Recomenda-se habilitar explicitamente o "modo seguro" ou desabilitar completamente o paginador usando --no-pager ou PAGER=cat ao permitir que usuários não confiáveis executem comandos com privilégios elevados.

Esta opção recebe um argumento booleano. Quando definido como verdadeiro, o "modo seguro" do paginador é habilitado. No "modo seguro", LESSSECURE=1 será definido ao invocar o paginador, o que instrui o paginador a desabilitar comandos que abrem ou criam novos arquivos ou iniciam novos subprocessos. Atualmente, apenas less(1) é conhecido por entender essa variável e implementar o "modo seguro".

Quando definido como falso, nenhuma restrição é imposta ao paginador. Definir SYSTEMD_PAGERSECURE=0 ou não removê-lo do ambiente herdado pode permitir que o usuário invoque comandos arbitrários.

Quando $SYSTEMD_PAGERSECURE não está definido, as ferramentas systemd tentam determinar automaticamente se o "modo seguro" deve ser habilitado e se o paginador o suporta. O "modo seguro" é habilitado se o UID efetivo não for o mesmo do proprietário da sessão de login, veja geteuid(2) e sd_pid_get_owner_uid(3), ou quando executado sob sudo(8) ou ferramentas semelhantes ($SUDO_UID está definido [4]). Nesses casos, SYSTEMD_PAGERSECURE=1 será definido e os paginadores que não implementam o "modo seguro" não serão usados. Observe que esta detecção automática cobre apenas os mecanismos mais comuns para elevar privilégios e é destinada à conveniência. Recomenda-se definir explicitamente $SYSTEMD_PAGERSECURE ou desabilitar o paginador.

Observe que, se as variáveis $SYSTEMD_PAGER ou $PAGER devem ser honradas, além de desabilitar o paginador, $SYSTEMD_PAGERSECURE também deve ser definida.

$SYSTEMD_COLORS

Recebe um argumento booleano. Quando verdadeiro, systemd e utilitários relacionados usarão cores em sua saída; caso contrário, a saída será monocromática. Além disso, a variável pode assumir um dos seguintes valores especiais: "16", "256" para restringir o uso de cores às 16 ou 256 cores ANSI básicas, respectivamente. Isso pode ser especificado para substituir a decisão automática com base em $TERM e em qual o console está conectado.

$SYSTEMD_URLIFY

O valor deve ser booleano. Controla se links clicáveis devem ser gerados na saída para terminais que oferecem suporte a isso. Isso pode ser especificado para substituir a decisão que o systemd faz com base em $TERM e outras condições.

VEJA TAMBÉM

systemd(1), journalctl(1), loginctl(1), machinectl(1), systemd.unit(5), systemd.resourcecontrol(5), systemd.special(7), wall(1), systemd.preset(5), systemd.generator(7), glob(7)

NOTAS

UAPI.1 Boot Loader Specification
https://uapi-group.org/specifications/specs/boot_loader_specification

UAPI.2 Discoverable Partitions Specification
https://uapi-group.org/specifications/specs/discoverable_partitions_specification

LSB 3.0.0
http://refspecs.linuxbase.org/LSB_3.0.0/LSB-PDA/LSB-PDA/iniscrptact.html

Recomenda-se que outras ferramentas definam e verifiquem $SUDO_UID conforme apropriado, tratando-o como uma interface comum.