diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2013-04-26 12:06:39 +0200 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2013-04-26 12:06:39 +0200 |
commit | 00f698eb8b93c9de50ebbadb946c5bf188e8fa98 (patch) | |
tree | fe30ae4cab0644a5561d06aecc3c53e3d7601901 | |
parent | 938092a21341b69604e9da6294fe76c13d6a1c07 (diff) |
find-runtime-roots.pl: Search process environments for roots
For instance, this prevents paths from being deleted that are in use
by a "nix-build --run-env" session.
-rwxr-xr-x | scripts/find-runtime-roots.pl.in | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/scripts/find-runtime-roots.pl.in b/scripts/find-runtime-roots.pl.in index a53cefd4e..5c2d4bed9 100755 --- a/scripts/find-runtime-roots.pl.in +++ b/scripts/find-runtime-roots.pl.in @@ -35,6 +35,13 @@ sub readProc { } close MAP; } + + # Get all store paths that appear in the environment of this process. + eval { + my $env = Nix::Utils::readFile "$process/environ"; + my @matches = $env =~ /\/nix\/store\/[0-9a-z]+[0-9a-zA-Z\+\-\._\?=]*/g; + print "$_\n" foreach @matches; + } } closedir DIR; |