diff options
author | Gregor Kleen <gkleen@yggdrasil.li> | 2021-12-08 16:10:49 +0100 |
---|---|---|
committer | Gregor Kleen <gkleen@yggdrasil.li> | 2021-12-08 16:10:49 +0100 |
commit | 59206a53a272bc8257bc740c9dbc84b545357f5c (patch) | |
tree | 6bdcdb96a8237ecc8e8b232a44a550e39f76e288 /accounts | |
parent | a7029ec67b4b496f4cd1c3805b2adcdd1889e11b (diff) | |
download | nixos-59206a53a272bc8257bc740c9dbc84b545357f5c.tar nixos-59206a53a272bc8257bc740c9dbc84b545357f5c.tar.gz nixos-59206a53a272bc8257bc740c9dbc84b545357f5c.tar.bz2 nixos-59206a53a272bc8257bc740c9dbc84b545357f5c.tar.xz nixos-59206a53a272bc8257bc740c9dbc84b545357f5c.zip |
gkleen@sif: ssh proxy: less pid magic
Diffstat (limited to 'accounts')
-rw-r--r-- | accounts/gkleen@sif/systemd.nix | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/accounts/gkleen@sif/systemd.nix b/accounts/gkleen@sif/systemd.nix index de28895e..e6133896 100644 --- a/accounts/gkleen@sif/systemd.nix +++ b/accounts/gkleen@sif/systemd.nix | |||
@@ -22,20 +22,15 @@ let | |||
22 | 22 | ||
23 | ( exec -a "''${cmd[1]}" -- ''${cmd} ) & | 23 | ( exec -a "''${cmd[1]}" -- ''${cmd} ) & |
24 | pid=$! | 24 | pid=$! |
25 | ${pkgs.systemd}/bin/systemd-notify --pid="''${pid}" | ||
26 | 25 | ||
27 | check_pid() { | 26 | newpid="" |
28 | ${pkgs.lsof}/bin/lsof -Pi @localhost:"''${port}" -sTCP:LISTEN -t | 27 | while ! newpid=$(${pkgs.lsof}/bin/lsof -Pi @localhost:"''${port}" -sTCP:LISTEN -t); do |
29 | } | ||
30 | |||
31 | while ! check_pid; do | ||
32 | ${pkgs.coreutils}/bin/sleep 0.1 | 28 | ${pkgs.coreutils}/bin/sleep 0.1 |
33 | done | 29 | done |
34 | 30 | ||
35 | ${pkgs.systemd}/bin/systemd-notify --pid=$(check_pid) | ||
36 | ${pkgs.systemd}/bin/systemd-notify --ready | 31 | ${pkgs.systemd}/bin/systemd-notify --ready |
37 | 32 | ||
38 | wait "''${pid}" | 33 | wait "''${pid}" "''${newpid}" |
39 | ''; | 34 | ''; |
40 | in { | 35 | in { |
41 | services = { | 36 | services = { |