J'ai trouvé le code suivant dans .Net Core.J'ai trouvé le code suivant dans .Net Core pour récupérer le nombre de cœurs d'une machine exécutant un système d'exploitation Ubuntu.
var proc = new Process
{
StartInfo = new ProcessStartInfo
{
FileName = "/bin/sh",
Arguments = "-c 'grep \"$0\" /proc/cpuinfo | uniq | sed -e \"$1\"' \"cpu cores\" 's/[^0-9]*//g'",
UseShellExecute = false,
RedirectStandardOutput = true,
CreateNoWindow = true
}
};
proc.Start();
string line = proc.StandardOutput.ReadToEnd();
La commande donne résultat escompté si je l'exécute sur le mastic mais échoue avec l'erreur lorsque je tente de l'exécuter dans mon code .Net de base.
Erreur: $ 0: 1: $ 0: Erreur de syntaxe: non terminée chaîne entre guillemets
Tous sh et expert .Net-Core qui peut expliquer ce qui ne va pas avec mon code?
votre commande renvoie rien pour moi lorsqu'il est exécuté depuis la ligne de commande .. donc et mon cpuinfo a dans. – BugFinder
Je ne retourne « 2 » comme une réponse sur ma machine si elle est exécutée directement sur la coque –
Personnellement Id ont collé avec un plus simple: grep "cpu cores"/proc/cpuinfo | awk -F: '{s + = $ 2} FIN {print s}' – BugFinder