this post was submitted on 13 May 2024
10 points (100.0% liked)

linux4noobs

1422 readers
9 users here now

linux4noobs


Noob Friendly, Expert Enabling

Whether you're a seasoned pro or the noobiest of noobs, you've found the right place for Linux support and information. With a dedication to supporting free and open source software, this community aims to ensure Linux fits your needs and works for you. From troubleshooting to tutorials, practical tips, news and more, all aspects of Linux are warmly welcomed. Join a community of like-minded enthusiasts and professionals driving Linux's ongoing evolution.


Seeking Support?

Community Rules

founded 1 year ago
MODERATORS
 

Hello I am seeking a simple solution to running a list of "chown -R" " commands in script.sh

It takes a long time to sequentially execute all of these chown commands recursively because the directories have so many files. I want to be able to tackle the root level directories in parallel to speed things up. I imagine there must be a simple way to do this while keeping the list of commands in a single file. xargs and some of the other things I saw online looked like bad fits or would be over engineering this problem.

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 4 points 7 months ago* (last edited 7 months ago)

if it's bash, add & at the end of the chown lines (no ;). then put "wait" on a single line where it should wait for all to finish.

if you don't add "wait", the chowns could be kilked when the script finishes. to prevent that you have to redirect their error and standard output somewhere that exists even after the script finished (/dev/null or a logfile) and call "disown %+" to detach the processes from the parent.