Hei!
Olen tässä nyt muutaman päivän googlannu ja enpä ole löytänyt tutoriaalia.
Joten kysynpäs täältä.
Eli, mitenkäs olisi mahdollista lukea ja kirjoittaa toisen prosessin muistiin linuxissa?
Kielenä on siis C++
Toisena kysymyksenä olisi, että miten saan haettua terminaalin koon (X-merkkien määrä * Y-merkkien määrä).
tesmu kirjoitti:
Eli, mitenkäs olisi mahdollista lukea ja kirjoittaa toisen prosessin muistiin linuxissa?
Kuulostaa sellaselta, että ei pitäis olla mahollista mitenkään.
tesmu kirjoitti:
Toisena kysymyksenä olisi, että miten saan haettua terminaalin koon (X-merkkien määrä * Y-merkkien määrä).
Ympäristömuuttujista $COLUMNS ja $LINES
Jos toinen prosessi ei ole oma prosessisi, asia on juuri niin, kuin Blaze sanoi. Tietenkin debug-toiminnot ovat asia erikseen. Jos taas molemmat prosessit ovat omiasi ja tarkoituksena on siirtää tietoa, niin oikeat hakusanat ovat shared memory linux. Hyviä osumia tulee kyllä.
Blaze kirjoitti:
Ympäristömuuttujista $COLUMNS ja $LINES
Minusta siihen pitäisi löytyä ihan funktiokin jolla tuon pystyy hakemaan.
Mutta enköhän minä noilla kuitenkin pärjää.
Lähinnä tuolla muistinkäsittelyllä (kirjoitus ja luku) tarkoitan windowsin readprocessmemory ja writeprocessmemory -funktioita.
Täytyy katsoa mitä noilla "shared memory linux" -hakusanoilla löytyypi.
Windowsin Read/WriteProcessMemory-funktioita jokseenkin vastaavan toiminnallisuuden saavuttaa Linuxissa ptrace-funktion PTRACE_PEEKDATA ja PTRACE_POKEDATA -toiminnoilla.
Aihe on jo aika vanha, joten et voi enää vastata siihen.