summary refs log tree commit diff
path: root/pkgs/tools/virtualization/nixos-container/nixos-container.pl
diff options
context:
space:
mode:
authorScott R. Parish <srparish@gmail.com>2016-08-03 09:54:19 -0700
committerScott R. Parish <srparish@gmail.com>2016-08-03 11:08:32 -0700
commitd6c55c16f6f2305a853c94239bf8b1162fd36556 (patch)
tree3b9b7bfa8b82005f0b21f60f39a2bef350dd7977 /pkgs/tools/virtualization/nixos-container/nixos-container.pl
parentd93f917182dc5da7aca53fb9a847374ec0c7429a (diff)
downloadnixpkgs-d6c55c16f6f2305a853c94239bf8b1162fd36556.tar
nixpkgs-d6c55c16f6f2305a853c94239bf8b1162fd36556.tar.gz
nixpkgs-d6c55c16f6f2305a853c94239bf8b1162fd36556.tar.bz2
nixpkgs-d6c55c16f6f2305a853c94239bf8b1162fd36556.tar.lz
nixpkgs-d6c55c16f6f2305a853c94239bf8b1162fd36556.tar.xz
nixpkgs-d6c55c16f6f2305a853c94239bf8b1162fd36556.tar.zst
nixpkgs-d6c55c16f6f2305a853c94239bf8b1162fd36556.zip
nixos-container: replace 'kill' command with 'terminate'
My earlier commit to have `nixos-container destroy` use `kill` broke
the `container-imperative` test, see[1]. As suggested by @aszlig,
`machinectl terminate` doesn't have that problem, and is the command
that should have been used to begin with rather then `kill`.

1| https://github.com/NixOS/nixpkgs/commit/60c6c7bc9a0d564cf86af4b1711b33db48cf0d07#commitcomment-18478032
Diffstat (limited to 'pkgs/tools/virtualization/nixos-container/nixos-container.pl')
-rwxr-xr-xpkgs/tools/virtualization/nixos-container/nixos-container.pl18
1 files changed, 7 insertions, 11 deletions
diff --git a/pkgs/tools/virtualization/nixos-container/nixos-container.pl b/pkgs/tools/virtualization/nixos-container/nixos-container.pl
index a4b6f11654e..01ce00e8cb7 100755
--- a/pkgs/tools/virtualization/nixos-container/nixos-container.pl
+++ b/pkgs/tools/virtualization/nixos-container/nixos-container.pl
@@ -22,7 +22,7 @@ Usage: nixos-container list
        nixos-container destroy <container-name>
        nixos-container start <container-name>
        nixos-container stop <container-name>
-       nixos-container kill <container-name> [--signal <signal-specifier>]
+       nixos-container terminate <container-name>
        nixos-container status <container-name>
        nixos-container update <container-name> [--config <string>]
        nixos-container login <container-name>
@@ -189,12 +189,9 @@ sub isContainerRunning {
     return $status =~ /ActiveState=active/;
 }
 
-sub killContainer {
-    my @args = ();
-    push(@args, ("--signal", $signal)) if ($signal ne "");
-
-    system("machinectl", "kill", $containerName, @args) == 0
-        or die "$0: failed to kill container\n";
+sub terminateContainer {
+    system("machinectl", "terminate", $containerName) == 0
+        or die "$0: failed to terminate container\n";
 }
 
 sub stopContainer {
@@ -239,8 +236,7 @@ if ($action eq "destroy") {
     die "$0: cannot destroy declarative container (remove it from your configuration.nix instead)\n"
         unless POSIX::access($confFile, &POSIX::W_OK);
 
-    $signal = "SIGKILL";
-    killContainer if (isContainerRunning);
+    terminateContainer if (isContainerRunning);
 
     safeRemoveTree($profileDir) if -e $profileDir;
     safeRemoveTree($gcRootsDir) if -e $gcRootsDir;
@@ -257,8 +253,8 @@ elsif ($action eq "stop") {
     stopContainer;
 }
 
-elsif ($action eq "kill") {
-    killContainer;
+elsif ($action eq "terminate") {
+    terminateContainer;
 }
 
 elsif ($action eq "status") {