Forum Linux.debian/ubuntu terminal et bash

Posté par  . Licence CC By‑SA.
Étiquettes :
1
29
mai
2019

Bonjour à tous,

je suis actuellement sur debian sans gnome-desktop installé, uniquement le gnome-terminal.
Je peux taper les commandes Bash. Mais j'aimerais savoir sur quel programme je tape mes commandes. Est ce tout simplement Bash qui utiliser la libX11 pour afficher du texte sur l'écran, ou est ce un autre programme qui crée un processus fils puis ensuite fait execv(/bin/bash, la commande que j'ai fait) et affiche la sortie de la commande sur sa propre sortie ?

Merci d'avance pour (…)

Forum Programmation.c probleme avec le fonctionnement d'un thread

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
13
oct.
2019

bonjour,

voila je vous poste mon code ca sera plus simple pour la suite d'expliquer mon probleme.

    #include <stdio.h>
    #include <stdlib.h>
    #include <pthread.h>
    #include <unistd.h>

    void* f(void * arg)
    {
        int value = *((int*)arg);
        fprintf(stdout, "thread : &value  = %p ; value = %i\n", arg, value);

    }

    int main(int argc, char const *argv[])
    {
        pthread_t t;
(…)

Forum Programmation.c mettre de l'assembleur dans du C

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
16
août
2019

Bonjour à tous,

dans le seul but de m'amuser j'aimerai afficher du texte sur mon terminal via de l'assembleur dans du C.

Voici mon code :
#include

int main(int argc, char const *argv[])
{   
    const char *str = "coucou\n";
    asm("movq str,%rsi");
    asm("movq $7,%rdx");
    asm("movq $1,%rdi");
    asm("movq $1,%rax");
    asm("syscall");
    return 0;
}

le probleme est ma ligne : asm("movq str,%rsi");
Le terminal me renvoie :
réadressage R_X86_64_32S vers non défini symbole « str » ne peut pas être utilisé en créant (…)

Forum Linux.débutant probleme avec sigaction

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
21
fév.
2019

Bonjour à tous,

voila lors d'un segFault je veux récupérer le signal. J'ai donc utilisé sigaction qui conseil de mettre à la fin du handler l'appel systeme raise ou kill. Je m'attendais donc que mon processus tourne en boucle car a chaque signal sigSEGV recu la fonction fToCallIfSegFault est sensé etre appelé, et pourtant non, pourquoi ?

voici mon code :

#define SIGSEGV 11

void fToCallIfSegFault(int sig)
{
    fprintf(stdout, "il y a eu un
(…)

Forum Linux.général comment accéder à ma clé USB à partir du fichier /sys

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
8
juil.
2020

Bonjour à tous,

voila je me suis renseigné un peu sur le service udev et je sais qu'il crée les fichiers /dev/sd* des que le noyau ajoute un nouveau fichier dans /sys/

Donc je peux faire un open("/dev/sdb1", …) mais avec le vrai chemin : open("/sys/",…) et ca ne devrait pas poser de probleme pour le noyau. Mais quand je met ma clée USB, ou se trouve le fichier dans /sys qui fait référence à ma clée usb.

il y (…)

Forum Linux.général SCHED_FIFO et non préemptif c'est à dire

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
19
jan.
2018

Bonjour,

pour moi un système préemptif est un système arrête momentanément une tache pour laisser une autre tache plus prioritaire utiliser le CPU. SCHED_FIFO est dite comme non préemptif, donc si je lance un processus de priorité 1, alors meme si un processus de plus haute priorité (par exemple 99) arrive sur la file READY, alors le noyau ne peut pas donné du temps de CPU au processus de priorité 99 car en SCHED_FIFO une fois un processus lancé on (…)

Forum Linux.debian/ubuntu le noyau lance initrd ou initrd est lancé par le boot loader

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
27
oct.
2018

Bonjour,

Le boot loader qui se trouve dans les 512 premiers octet de la partition va lancer le noyau, mais comment le boot loader trouve le noyau alors que le systeme de fichier n'est pas monté ? le boot loader sait dans quels cylindres, pistes, secteurs ou se trouve le noyau, ou faut il d'abord monter le systeme de fichier via initrd, mais dans ce cas comment le boot loader trouve le programme initrd ?

initrd c'est juste un programme (…)

Forum Linux.général mon service est loaded (enable) mais inactive

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
11
nov.
2018

Bonjour à tous,

voila j'ai créé un script : persoService.sh :

    #!/bin/bash

    DAEMON="/bin/persoProg" #ligne de commande du programme
    DAEMONUSER="cosmoff" #utilisateur du programme
    daemon_NAME="persoProg" #Nom du programme (doit être identique à l'exécutable).


    PATH="/sbin:/bin:/usr/sbin:/usr/bin" 

    test -x $DAEMON || exit 0

    . /lib/lsb/init-functions


    d_start () {
            log_daemon_msg "Starting system $daemon_NAME Daemon"
            start-stop-daemon --background --name $daemon_NAME --start --quiet --chuid $DAEMONUSER --exec $DAEMON #-- $daemon_OPT
            log_end_msg $?
    }

    d_stop () {
            log_daemon_msg "Stopping system $daemon_NAME Daemon"
            start-stop-daemon
(…)

Forum Programmation.c++ probleme avec l'edition de lien

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
17
déc.
2018

Bonjour à tous,

Je suis tombé dans un projet d'école avec un répertoire libCalcul ou se trouvait :
libCalcul.so -> libCalcul.so.1.0.0
libCalcul.so.1 -> libCalcul.so.1.0.0
libCalcul.so.1.0 -> libCalcul.so.1.0.0
libCalcul.so.1.0.0

avec les fleches représentant des liens symboliques. Je n'ai rien compris a tous ces liens symboliques. Lors de l'édition de lien la lib libCalcul.so.1.0.0 est la seul qui compte, avec la commande g++ programme.cpp -L:/home/ -lCalcul.so.1.0.0 -o progFinale et ca devrait marcher alors pourquoi créer tous ces liens symboliques?

Ensuite ma seconde (…)

Forum Linux.débutant probleme pour comprendre l'édition de lien

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
20
jan.
2019

Bonjour à tous,

voici mon code :

#include <stdio.h>

void main(){
         fprintf(stdout, "bonjour");
         return 0;
}

Quand je compile mon programme avec : gcc mon_programme.c ,le compilateur va (furtivement) inclure des libs de la glibC car j'utilise la fonction fprintf(). Mais quand j'exécute mon programme : a.out, il faut également lancer dans la mémoire ram la fonction fprintf que j'ai besoin non ? comment ca marche ? quand je lance le programme, est ce (…)

Forum Programmation.c++ question sur mon architecture logiciel

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
13
jan.
2023

Bonjour a tous :)

j ai une IHM qui doit afficher deux int32_t venant de mon processus processMain. Dans processMain j ai créé 2 shared memory de cette facon:

int fd = -1;
if( (fd=::shm_open("ma_variable1", O_RDWR | O_CREAT, 0644)) < 0)
{
    std::cout << "shm_open error, " << strerror(errno) << std::endl;
}

size_t sizeOfMy_variable1 = ::sizeof(int32_t);
(…)

Forum général.général question sur la structure du code que fait le compilateur (.text, .bss, .heap ...)

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
4
août
2019

bonjour à tous,

voila j'essaye de comprendre la structure d'un programme.
Je suis tombé sur cette image et je n'ai plus rien compris a tout ce que j'avais lu sur le sujet.
voici l'image : image structure code

j'ai lu que la taille de la pile était fixé à 8Mo, donc ca veut dire que meme si je n'utilise que 1 Mo de ma pile, j'aurais quand meme une taille de pile qui utilise 8 Mo sur ma RAM  (…)

Forum Linux.général probleme avec setcap

Posté par  . Licence CC By‑SA.
Étiquettes :
0
30
jan.
2023

Bonjour,

j ai un script qui doit pouvoir monter (mount) un disque mais sans etre root.
J'ai donc lancé la commande : sudo setcap 'CAP_SYS_ADMIN=eip' myscript.sh

et quand je fais ./myscript.sh, le terminal me retourne : seul le superutilisateur peut utiliser mount.

pourtant dans man capabilities il me dit bien que je peux faire mount avec setcap 'CAP_SYS_ADMIN=eip'

Avez vous une idée du probleme ?
Merci d avance

Forum Linux.général probleme avec ioctl et rtc

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
12
juil.
2019

Bonjour,

voila je dois créer une alarme de 30 seconde via rtc. J'ai donc autorisé l'alarme puis initialisé l'alarme a 30 secondes. Le probleme et que je reste bloqué dans mon read() comme si l'alarme ne déclenchait aucune interruption. Pourtant dans le man il est bien écrit que l'alarme génere une interruption, et il me semble que j'ai bien respecté la documentation.

Je vous montre mon code :

    #include <stdio.h>
    #include <stdlib.h>
    #include <unistd.h>
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <unistd.h>
(…)

Forum Programmation.autre aide en assembleur quand je lance objdump -M intel -DTCs ./a.out

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
21
juil.
2019

Bonjour à tous,

Je m'interesse depuis peu à l'assembleur grace à la belle commande objdump. Néanmoins je tombe sur quelques problemes de compréhension au niveau assembleur et j'aurais bien besoin de vos lumieres.

Voici l'extrait de code :

    0000000000000540 <_start>:
     540:   31 ed                   xor    ebp,ebp
     542:   49 89 d1                mov    r9,rdx
     545:   5e                      pop    rsi
     546:   48 89 e2                mov    rdx,rsp
     549:   48 83 e4 f0             and    rsp,0xfffffffffffffff0
     54d:   50                      push   rax
     54e:   54                      push   rsp
     54f:   4c 8d 05
(…)