qu'est-ce que le paramètre Linux

Mar 10, 2023 am 08:58 AM
linux param

linux param fait référence à la fonction "module_param", qui est utilisée pour transmettre les paramètres de ligne de commande ; dans la programmation en mode utilisateur, les paramètres de ligne de commande peuvent être transmis via les paramètres de "main()", et lors de l'écriture d'un module du noyau, passez "module_param( )" pour transmettre les paramètres.

qu'est-ce que le paramètre Linux

L'environnement d'exploitation de ce tutoriel : système linux5.9.8, ordinateur Dell G3.

Qu'est-ce que le paramètre Linux ?

Utilisation de module_param dans le pilote Linux

Commencez avec la fonction principale

Nous aimons tous utiliser le paramètre if de la fonction main lors de l'écriture de programmes en mode utilisateur Pour transférer des données vers le programme

#include <stlib.h>
#include <stdio.h>
int main(int argc,char **argv)
{
 exit(0);
}</stdio.h></stlib.h>
Copier après la connexion

où argc est le nombre de paramètres passés dans le programme, argv est le paramètre passé, et le premier paramètre argv[0] est le nom du fichier actuel incluant le chemin, donc le nombre réel de paramètres entrés dans le programme est argc-1.

Le module noyau passe les paramètres

Il n'y a pas de fonction principale dans le module noyau, donc la transmission des paramètres dans le module peut être réalisée via la définition de la macro module_param :

// 原型
#define module_param(name, type, perm)     \
		module_param_named(name, name, type, perm)
Copier après la connexion

name : le nom du paramètre entrant
type : le type du paramètre entrant, il en existe plusieurs types : byte, short, ushort, int, uint, long, ulong, charp, bool, invbool
perm : C'est l'autorisation d'accès aux ressources dans sysfs. Entrons dans les détails ci-dessous. . Il existe principalement les types d'autorisations suivants dans le module uapi/

#define S_IRWXU 00700    // 用户读写可执行权限
#define S_IRUSR 00400    // 用户读权限
#define S_IWUSR 00200    // 用户写权限
#define S_IXUSR 00100    // 用户可执行权限

#define S_IRWXG 00070    // 用户组读写可执行权限
#define S_IRGRP 00040    // 用户组读权限
#define S_IWGRP 00020    // 用户组写权限
#define S_IXGRP 00010    // 用户组可执行权限

#define S_IRWXO 00007    // 其他人可读写执行权限
#define S_IROTH 00004    // 其他人可读权限
#define S_IWOTH 00002    // 其他人可写权限
#define S_IXOTH 00001    // 其他人可执行权限
Copier après la connexion

défini dans linux/stat.h Écriture de code :

#include <linux>

int num = 100;
module_param(num,int,S_IRUSR);

static int __init param_init(void)
{
	printk("[%s] num = %d\r\n",__FUNCTION__,num);
	return 0;
}

static void __exit param_exit(void)
{
	printk("[%s]  num = %d\r\n",__FUNCTION__,num)
}

module_init(param_init);
module_exit(param_exit);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Chen");</linux>
Copier après la connexion

Fichier Makefile :

ifneq ($(KERNELRELEASE),)
	obj-m:=param.o
else
	KERNEL_DIR:=/lib/modules/$(shell uname -r)/build
	CURRENT_DIR:=$(shell pwd)
	ccflags-y:=-std=gnu99 -Wno-declaration-after-statement
all:
	$(MAKE) -C $(KERNEL_DIR) M=$(CURRENT_DIR) modules
clean:
	$(MAKE) -C $(KERNEL_DIR) M=$(CURRENT_DIR) clean
endif
Copier après la connexion

Compilez le programme, installez le module, puis dmesg
quest-ce que le paramètre Linux

Après. le module est installé, le module correspondant sera généré dans le dossier /sys/module Nommez le dossier, entrez le dossier
quest-ce que le paramètre Linux

Entrez le dossier, il y aura num dans le programme précédent dans le dossier paramètres

quest-ce que le paramètre Linux

quest-ce que le paramètre Linux

Comme vous pouvez le voir sur l'image, le noyau est dans le système de fichiers. Les fichiers correspondants seront générés pour que les utilisateurs puissent y accéder, et le perm dans la définition de la macro module_param dans le module définit l'autorisation en lecture seule de l'utilisateur, donc le num les autorisations de fichiers y correspondent.
Bien sûr, vous pouvez également définir des autorisations d'écriture pour modifier la valeur du paramètre d'entrée. Après la modification, le paramètre dans le module du noyau changera mais il n'y aura aucune invite d'information.

Recommandations associées : "Tutoriel vidéo Linux"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Impossible de se connecter à MySQL en tant que racine Impossible de se connecter à MySQL en tant que racine Apr 08, 2025 pm 04:54 PM

Les principales raisons pour lesquelles vous ne pouvez pas vous connecter à MySQL en tant que racines sont des problèmes d'autorisation, des erreurs de fichier de configuration, des problèmes de mot de passe incohérents, des problèmes de fichiers de socket ou une interception de pare-feu. La solution comprend: vérifiez si le paramètre Bind-Address dans le fichier de configuration est configuré correctement. Vérifiez si les autorisations de l'utilisateur racine ont été modifiées ou supprimées et réinitialisées. Vérifiez que le mot de passe est précis, y compris les cas et les caractères spéciaux. Vérifiez les paramètres et les chemins d'autorisation du fichier de socket. Vérifiez que le pare-feu bloque les connexions au serveur MySQL.

Comment résoudre MySQL ne peut pas être démarré Comment résoudre MySQL ne peut pas être démarré Apr 08, 2025 pm 02:21 PM

Il existe de nombreuses raisons pour lesquelles la startup MySQL échoue, et elle peut être diagnostiquée en vérifiant le journal des erreurs. Les causes courantes incluent les conflits de port (vérifier l'occupation du port et la configuration de modification), les problèmes d'autorisation (vérifier le service exécutant les autorisations des utilisateurs), les erreurs de fichier de configuration (vérifier les paramètres des paramètres), la corruption du répertoire de données (restaurer les données ou reconstruire l'espace de la table), les problèmes d'espace de la table InNODB (vérifier les fichiers IBDATA1), la défaillance du chargement du plug-in (vérification du journal des erreurs). Lors de la résolution de problèmes, vous devez les analyser en fonction du journal d'erreur, trouver la cause profonde du problème et développer l'habitude de sauvegarder régulièrement les données pour prévenir et résoudre des problèmes.

MySQL peut-il fonctionner sur Android MySQL peut-il fonctionner sur Android Apr 08, 2025 pm 05:03 PM

MySQL ne peut pas fonctionner directement sur Android, mais il peut être implémenté indirectement en utilisant les méthodes suivantes: à l'aide de la base de données légère SQLite, qui est construite sur le système Android, ne nécessite pas de serveur distinct et a une petite utilisation des ressources, qui est très adaptée aux applications de périphériques mobiles. Connectez-vous à distance au serveur MySQL et connectez-vous à la base de données MySQL sur le serveur distant via le réseau pour la lecture et l'écriture de données, mais il existe des inconvénients tels que des dépendances de réseau solides, des problèmes de sécurité et des coûts de serveur.

Impossible d'accéder à MySQL depuis Terminal Impossible d'accéder à MySQL depuis Terminal Apr 08, 2025 pm 04:57 PM

Impossible d'accéder à MySQL à partir du terminal peut être dû à: le service MySQL n'est pas en cours d'exécution; Erreur de commande de connexion; autorisations insuffisantes; Connexion de blocs de pare-feu; Erreur de fichier de configuration MySQL.

Quelle est la plus utilisée de Linux? Quelle est la plus utilisée de Linux? Apr 09, 2025 am 12:02 AM

Linux est largement utilisé dans les serveurs, les systèmes intégrés et les environnements de bureau. 1) Dans le domaine du serveur, Linux est devenu un choix idéal pour héberger des sites Web, des bases de données et des applications en raison de sa stabilité et de sa sécurité. 2) Dans les systèmes intégrés, Linux est populaire pour sa personnalisation et son efficacité élevées. 3) Dans l'environnement de bureau, Linux fournit une variété d'environnements de bureau pour répondre aux besoins des différents utilisateurs.

Surveillez les gouttelettes MySQL et MariaDB avec Exportateur de Prometheus Mysql Surveillez les gouttelettes MySQL et MariaDB avec Exportateur de Prometheus Mysql Apr 08, 2025 pm 02:42 PM

Une surveillance efficace des bases de données MySQL et MARIADB est essentielle pour maintenir des performances optimales, identifier les goulots d'étranglement potentiels et assurer la fiabilité globale du système. Prometheus Mysql Exportateur est un outil puissant qui fournit des informations détaillées sur les mesures de base de données qui sont essentielles pour la gestion et le dépannage proactifs.

Questions d'entrevue CENTOS: Ace Your Linux System Administrator Interview Questions d'entrevue CENTOS: Ace Your Linux System Administrator Interview Apr 09, 2025 am 12:17 AM

Les questions et réponses fréquemment posées à l'entretien CentOS comprennent: 1. Utilisez la commande yum ou dnf pour installer des packages logiciels, tels que SudoyuminInstallnginx. 2. Gérer les utilisateurs et les groupes via des commandes UserAdd et GroupAdd, telles que SudouserAdd-M-S / Bin / BashNewuser. 3. Utilisez Firewalld pour configurer le pare-feu, comme SudoFirewall-CMD - Permanent-Add-Service = HTTP. 4. Définissez les mises à jour automatiques pour utiliser Yum-Cron, telles que SudoyuMinInstallyum-Cron et configure applat_updates = Oui.

Comment résoudre MySQL ne peut pas se connecter à l'hôte local Comment résoudre MySQL ne peut pas se connecter à l'hôte local Apr 08, 2025 pm 02:24 PM

La connexion MySQL peut être due aux raisons suivantes: le service MySQL n'est pas démarré, le pare-feu intercepte la connexion, le numéro de port est incorrect, le nom d'utilisateur ou le mot de passe est incorrect, l'adresse d'écoute dans my.cnf est mal configurée, etc. 2. Ajustez les paramètres du pare-feu pour permettre à MySQL d'écouter le port 3306; 3. Confirmez que le numéro de port est cohérent avec le numéro de port réel; 4. Vérifiez si le nom d'utilisateur et le mot de passe sont corrects; 5. Assurez-vous que les paramètres d'adresse de liaison dans My.cnf sont corrects.

See all articles