Raketenwilli: Linux default-nice-Wert für Programme festlegen?

Beitrag lesen

Situation:

Ich rödele Filme vom .ts-Format (in dem zeichnet ein Gerät Mitschnitte von Filmen und ähnlichem) zu mp4 um:

#!/bin/bash
#set -x
if [ -z "$1" ]; then
        echo "Welche Datei soll denn umgewandelt werden?" 1>&2
        exit 1
fi

inputFile="${1}"
if [ ! -f "$inputFile" ]; then
        inputFile="${0}"
        if [ ! -f "${inputFile}" ]; then
                echo "Die Datei ${inputFile} existiert nicht." 1>&2
                exit 2
        fi
fi

outputFile=$(echo "${inputFile}" | sed -e 's/\.[^.]*$//').mp4

if [ "$inputFile" = "$outputFile" ]; then
        echo "Imput- und Output-Datei müssen sich unterscheiden. Sie können auch keine MP4-Datei in eine MP4-Datei umwandeln." 1>&2
        exit 3
fi
echo "ffmpeg -i  '${inputFile}' '${outputFile}' wird ausgeführt." 1>&2;

nice -n 19 ffmpeg -i  "${inputFile}" "${outputFile}"

if [ 0 -eq $? ]; then
        echo "Die Datei '${outputFile}' wurde gespeichert." 1>&2;
else
        echo 'Mist. Fehler.' 1>&2;
fi

Dabei ist mir aufgefallen, dass sich ffmpeg mit vielen Threads (so viele wie die CPU „gleichzeitig“ verarbeiten kann) derart viel Rechenleistung vom Sheduler zog, dass auf dem (eigentlich leistungsfähigem) Notebook (Ryzen 5 5500U) sogar die WLAN-Verbindung abbrach. (Was der Grund für die Untersuchung war: Denn wer SOWAS akzeptiert kann ja auch gleich Windows benutzen...)

Die eigentliche Aktion ist deshalb die Zeile ...

nice -n 19 ffmpeg -i  "${inputFile}" "${outputFile}"

in welcher das Programm nice das eigentliche Programm ffmpeg maximal „freundlich“ macht, also jede „Oma an der Kasse vorlässt“, mithin also dafür sorgt, dass das System stabil (dazu gehört auch, dass ich weiterarbeiten kann) weiter läuft.

Aber ich halte es für einen Fehler des Distributors, dass ein Anwendungsprogramm den WLAN-Stack derart „abkacken“ lässt.

Frage:

Kann man Programmen unter Linux irgendwo unter /etc/ generell einen nice-Wert (oder ein Äquivalent) zuweisen, mithin diese Situation von Anfang an verhindern?

akzeptierte Antworten