I was too lazy to write anything remotely as clean as this so I asked Kagi's integration of Mistral Large:
Sure, here's an example of how you could create a
systemd
timer to automatically renice existing Google Chrome processes.
- First, create a new service file. You can use any text editor you like, but for this example, we'll use
nano
:sudo nano /etc/systemd/system/renice-chrome.service
- In the service file, add the following lines:
[Unit] Description=Renice Google Chrome processes [Service] Type=oneshot ExecStart=/bin/bash -c 'for pid in $(pgrep chrome); do ionice -c3 -p $pid; renice 19 -p $pid; done'
This service file defines a new service that runs a bash command to find all Google Chrome processes (using
pgrep chrome
), and then appliesionice
andrenice
to each process.
Save and close the file.
Next, create a new timer file:
sudo nano /etc/systemd/system/renice-chrome.timer
- In the timer file, add the following lines:
[Unit] Description=Run renice-chrome.service every hour [Timer] OnCalendar=hourly Persistent=true [Install] WantedBy=timers.target
This timer file defines a new timer that runs the
renice-chrome.service
every hour.
Save and close the file.
Now, enable and start the timer:
sudo systemctl enable renice-chrome.timer sudo systemctl start renice-chrome.timer
- You can check the status of the timer with:
sudo systemctl list-timers
This will show you a list of all active timers, including when they're next due to run.
Please note that this will only affect Google Chrome processes that are already running when the timer runs. If you want to also lower the priority of new Google Chrome processes as they're launched, you would need to use a different approach, such as the script I described in my previous answer.
Also, remember to replace
chrome
with the correct process name if it's different on your system. You can check the process name withpgrep chrome
. If it doesn't return anything, trypgrep chromium
orpgrep google-chrome
.