root-prosessi hoitamaan esim. striimausta?
-
- Viestit: 352
- Liittynyt: 28.10.2007 klo 12.52
- Paikkakunta: Espoo
root-prosessi hoitamaan esim. striimausta?
Viesti Kirjoittaja Ape »
Eli kun vaimo mennessään koneelle loggaa minut ulos, itsensä sisään ja lopuksi loggaa itsensäkin pihalle, niin eihän siinä enää minun tunnukselle avattu AirVideo server-prosessi toimi. Mutta jos homma toimisi taustalla piilossa, niin ettei sitä joku pikku ulosloggaus tappaisi, niin sehän ratkaisi koko jutun. Kai. Onnistuuko?
-
- Viestit: 8613
- Liittynyt: 27.7.2007 klo 16.10
Re: root-prosessi hoitamaan esim. striimausta?
Viesti Kirjoittaja Sherukka »
-
- Viestit: 39
- Liittynyt: 29.12.2008 klo 16.50
Re: root-prosessi hoitamaan esim. striimausta?
Viesti Kirjoittaja Cornix »
Koodi: Valitse kaikki
$ sudo /Applications/<ohjelma.app>/Contents/MacOS/<ohjelma> &
-
- Viestit: 352
- Liittynyt: 28.10.2007 klo 12.52
- Paikkakunta: Espoo
Re: root-prosessi hoitamaan esim. striimausta?
Viesti Kirjoittaja Ape »
No se saattaa mennä vanhasta muistista tai saatan kai siihen itsekin kehottaa, jos on jotain kovasti muistia vieviä juttuja päällä.Sherukka kirjoitti:Miksi hän loggaa sinut ulos? Aktivoi fast user switching? En tosin tiedä jääkö prosessit päälle?
Fast user switching on päällä, mutta ajattelin juuri tilanteita, joissa yhtään tavallista käyttäjäprosessia ei syystä tai toisesta ole päällä.
-
- Viestit: 352
- Liittynyt: 28.10.2007 klo 12.52
- Paikkakunta: Espoo
Re: root-prosessi hoitamaan esim. striimausta?
Viesti Kirjoittaja Ape »
Tuo ei kai selviä bootin yli? Jos saan homman toimimaan, niin mihinkäs tuo pitää editoida mukaan, jotta on aina automaagisesti bootinkin jälkeen kunnossa?Cornix kirjoitti:Saattaisipa onnistua komentamalla terminaalissa:Tuon tarkan hakemistopolun ohjelman suoritettavaan binääriin voit etsiä Finderilläkin klikkaamalla .app-tiedostoa toisella hiiren näppäimellä ja valitsemalla "Show Package Contents".Koodi: Valitse kaikki
$ sudo /Applications/<ohjelma.app>/Contents/MacOS/<ohjelma> &
-
- Viestit: 1014
- Liittynyt: 6.11.2004 klo 19.35
Re: root-prosessi hoitamaan esim. striimausta?
Viesti Kirjoittaja nobu178 »
EDIT Toi oli tosiaan liian vanha. En katsonut tarkkaan sitä. Tämä on parempi.
-
- Viestit: 4725
- Liittynyt: 8.3.2004 klo 17.38
- Paikkakunta: Helsinki
Re: root-prosessi hoitamaan esim. striimausta?
Viesti Kirjoittaja spiidi78 »
Ei taida onnistua, koska Terminal jää kyseisen ohjelman parent prosessiksi ja child prosessit tuhotaan kun Terminal hävitetään muistista.Cornix kirjoitti:Saattaisipa onnistua komentamalla terminaalissa:Tuon tarkan hakemistopolun ohjelman suoritettavaan binääriin voit etsiä Finderilläkin klikkaamalla .app-tiedostoa toisella hiiren näppäimellä ja valitsemalla "Show Package Contents".Koodi: Valitse kaikki
$ sudo /Applications/<ohjelma.app>/Contents/MacOS/<ohjelma> &
OS X:n tapa hoitaa daemonien käynnistys hoituu launchd:lla. En nyt kerkeä tällä hetkellä kokeilemaan.nobu178 kirjoitti:Voisiko olla tästä apua? Juttu on vanha, mutta löytynee googlettamalla lisää.
edit: Hetken verran kerkeän jelppiä. Hommahan toimii niin, että /Library/LaunchDaemons -hakemiston alle tehdään XML-file (com.Jotain.plist), joka sisältää tiedot käynnistettävästä prosessista, sille annettavat parametrit, yms muuta (kuten milloin käynnistetään jne). Kurkistapa kyseisen hakemiston alle ja kurkkaa miten muut .plist filet on tehty. Sitten lisää dokumentaatiota: http://developer.apple.com/macosx/launchd.html
Tässä on esimerkki Apogee Duetin taustaprosessin .plist filestä, joka on taustalla oli käyttäjä mikä tahansa. Googlaile vaikka noista XML parametreista lisää:
Koodi: Valitse kaikki
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.duetDaemon.plist</string>
<key>OnDemand</key>
<false/>
<key>KeepAlive</key>
<true/>
<key>ProgramArguments</key>
<array>
<string>/System/Library/Extensions/DuetPlugIn.bundle/Contents/MacOS/duetDaemon</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
-
- Viestit: 4702
- Liittynyt: 4.11.2007 klo 13.32
- Paikkakunta: Tampere
Re: root-prosessi hoitamaan esim. striimausta?
Viesti Kirjoittaja atheos »
Kyllä helpointa on vaan käyttää sitä nopeaa käyttäjän vaihtoa uloskirjaamisen sijaan. Voit opetella esim. heittämään itsesi login-ikkunaan kun lopetat koneella työskentelyn, näin olet kirjautuneena mutta vaimo ei saa sinua pihalle (paitsi jos hänellä on admin-tunnus tietty). Jos muisti loppuu niin kaupasta saa lisää. Tai sitten saa koneen johon menee enemmän muistia.
Sanon vaan, että prosessin käynnistäminen roottina on minun mielestäni ongelman korjaamista sieltä missä sitä ei ole, koska se alkuperäinen ongelman aiheuttaja on se, että vaimo kirjaa sinut ulos. Se, miten vaimon saa lopulta lopettamaan tämä, on jo perhepolitiikkaa ja en ota siihen enempää kantaa 8)
EDIT: Daemoneita voinee kyllä käynnistellä, koska ne eivät ole tavallisia ohjelmia. Mutta monet serveri-ohjelmatkin ovat vain daemon-tyyppisiä, mutta niillä on siitä huolimatta jokin GUI-prosessi joka vaatii kirjautuneen käyttäjän alleen. Riippuu. Lisäksi kannattaa muistaa, että jos joku serveriprosessi on kytkyssä oman käyttäjän tiedostoihin, niin roottina ajaminen tekee vähintään mutkia matkaan ellei jopa suoranaisia ongelmia.
http://irc.fi/atheos • http://www.mikseri.net/user/atheos
-
- Viestit: 4725
- Liittynyt: 8.3.2004 klo 17.38
- Paikkakunta: Helsinki
Re: root-prosessi hoitamaan esim. striimausta?
Viesti Kirjoittaja spiidi78 »
Oli ihan PAKKO kokeilla, onko ohjelma niin typerästi koodattu, että serverillä (daemonilla) on vahva UI-riippuvuus..atheos kirjoitti:EDIT: Daemoneita voinee kyllä käynnistellä, koska ne eivät ole tavallisia ohjelmia. Mutta monet serveri-ohjelmatkin ovat vain daemon-tyyppisiä, mutta niillä on siitä huolimatta jokin GUI-prosessi joka vaatii kirjautuneen käyttäjän alleen. Riippuu. Lisäksi kannattaa muistaa, että jos joku serveriprosessi on kytkyssä oman käyttäjän tiedostoihin, niin roottina ajaminen tekee vähintään mutkia matkaan ellei jopa suoranaisia ongelmia.
No, käynnistyksessä aukeaa UI-ikkuna yhden kerran (en tiedä olisiko kierrettävissä jollain parametrillä), jonka jälkeen se jää taustalle vaikka käyttäjä loggaa pihalle ja uusi sisään. Eli ei ole käytännössä edellämainittua UI-riippuvuutta.
Tässä on modattu plist tuosta Duetin vastaavasta jolla kokeilin, eli Terminaali auki, kirjoita
Koodi: Valitse kaikki
sudo nano /Library/LaunchDaemons/com.AirServer.plist
Koodi: Valitse kaikki
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.AirServer.plist</string>
<key>OnDemand</key>
<false/>
<key>KeepAlive</key>
<true/>
<key>ProgramArguments</key>
<array>
<string>/Applications/Air Video Server.app/Contents/MacOS/Air Video Server</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
-
- Viestit: 352
- Liittynyt: 28.10.2007 klo 12.52
- Paikkakunta: Espoo
Re: root-prosessi hoitamaan esim. striimausta?
Viesti Kirjoittaja Ape »
Taitaa olla tekemätön paikka.
-
- Viestit: 4725
- Liittynyt: 8.3.2004 klo 17.38
- Paikkakunta: Helsinki
Re: root-prosessi hoitamaan esim. striimausta?
Viesti Kirjoittaja spiidi78 »
Kokeilitko ylläolevaa? Jos streamauksen ehto on se, että prosessi on vain olemassa taustalla (samalla tavalla kuin ohjelma olisi käynnistetty manuaalisesti), niin silloinhan homman pitäisi toimia... Tuossahan ei mitään rootteja tarvita, vaan kyseessä ihan tavallinen toimenpide.Ape kirjoitti:Atheos tuossa aika hyvin selvensikin sen mikä on mahdollista ja järkevää. rootin käyttö nyt oli ensimmäinen mikä vajavalla ymmärrykselläni tuli mieleen. Kyse oli vain siitä, että olisin halunnut tsydeemin, jossa voisin kytkeä iPadini milloin vain kotona päälle ja saada streamauksen alkamaan ilman, että koneella on oma tunnukseni sisäänlogattuna. Että kuluisi mahdollisimman vähän resursseja mutta palvelu kuitenkin pelaisi.
Taitaa olla tekemätön paikka.
-
- Viestit: 352
- Liittynyt: 28.10.2007 klo 12.52
- Paikkakunta: Espoo
Re: root-prosessi hoitamaan esim. striimausta?
Viesti Kirjoittaja Ape »
Kirjoiteltiin viestejä samaan aikaan ja meni päällekkäin. En ole vielä kokeillut mutta vaikuttaa mielenkiintoiselta. Täytyy ottaa viikonloppuna testit. Kiitos.spiidi78 kirjoitti:Kokeilitko ylläolevaa? Jos streamauksen ehto on se, että prosessi on vain olemassa taustalla (samalla tavalla kuin ohjelma olisi käynnistetty manuaalisesti), niin silloinhan homman pitäisi toimia... Tuossahan ei mitään rootteja tarvita, vaan kyseessä ihan tavallinen toimenpide.Ape kirjoitti:Atheos tuossa aika hyvin selvensikin sen mikä on mahdollista ja järkevää. rootin käyttö nyt oli ensimmäinen mikä vajavalla ymmärrykselläni tuli mieleen. Kyse oli vain siitä, että olisin halunnut tsydeemin, jossa voisin kytkeä iPadini milloin vain kotona päälle ja saada streamauksen alkamaan ilman, että koneella on oma tunnukseni sisäänlogattuna. Että kuluisi mahdollisimman vähän resursseja mutta palvelu kuitenkin pelaisi.
Taitaa olla tekemätön paikka.
-
- Viestit: 94
- Liittynyt: 19.5.2007 klo 10.49
- Paikkakunta: Pori
Re: root-prosessi hoitamaan esim. striimausta?
Viesti Kirjoittaja Jomena »
loggautuu ulos ruokatunniksi.
Koodi: Valitse kaikki
>nohup mylongscript &
Koodi: Valitse kaikki
>su - root -c "nohup mylongscript &"
Koodi: Valitse kaikki
>su - root -c "nohup /Applications/AirVideo"
Koodi: Valitse kaikki
>open textedit
mutta tällaista tuli mieleen:
Koodi: Valitse kaikki
>su - root -c "nohup open /Applications/AirVideo"
-
- Viestit: 684
- Liittynyt: 8.4.2005 klo 22.40
- Paikkakunta: Kuala Lumpur, Malaysia
Re: root-prosessi hoitamaan esim. striimausta?
Viesti Kirjoittaja mikian »
Tassa tapauksessa sudo komento / su komento pitaisi toimia, eli sudo -u <tunnuksesi> tai edella olevaa muokatan su - <tunnuksesi> -c "blahblahblah"
Tuo launhdaemon on juurikin oikea paikka ajella tuollaisia daemoneita, ja sita ajetaan roottina, eli etenkin su -komennon pitaisi toimia ilman mitaan ongelmia.
-
- Viestit: 94
- Liittynyt: 19.5.2007 klo 10.49
- Paikkakunta: Pori
Re: root-prosessi hoitamaan esim. striimausta?
Viesti Kirjoittaja Jomena »
Viimeisessä kommentissakin mentiin vähän aiheen ohi, sillä tärkein kohta on "nohup" (no hangup), joka estää prosessin vastaamasta SIGHUP signaaliin. SIGHUP on signaali, joka lähetetään prosesseille esim. ulos loggauduttaessa. Tämän jälkeen prosessin saa lopetettua vain kill -9 signaalilla.
Koska aihe kiinnosti itseänikin, niin löysin hyvän esimerkin:
http://www.projectforum.com/howto_startupitem.html
joten oikea vastaus kysymykseen on loitsuttaa terminaalista:
Koodi: Valitse kaikki
>nohup /Applications/AirVideo/Contents/MacOS/AirVideo &
-
- Viestit: 684
- Liittynyt: 8.4.2005 klo 22.40
- Paikkakunta: Kuala Lumpur, Malaysia
Re: root-prosessi hoitamaan esim. striimausta?
Viesti Kirjoittaja mikian »
Tai sitten ei, root -kayttajana prosessien ajaminen on paitsi typeraa, vaarallista seka huonoa suunnittelua. Tosin yleensa erinaiset open source prosessit nain tekevat kun koodarit haluaa olla laiskoja. Itsella kun katsoin 32 prosessia on root -kayttajana, joista suurin osa on OS X:n omia prosesseja tai sitten levynhallinta (WD) tai backup (Mozy), joiden pitaakin olla roottina. Loput, eli 65 prosessia on tavallisena kayttajana ajossa.Jomena kirjoitti:Käytin root tiliä esimerkkinä, jos prosessin haluaa käynnistää jollain toisella käyttäjällä kuin omallaan. Ei sitä roottia säikkyä kannata sillä "Activity monitorista" vilkaisemalla huomaat, että suurin osa koneen prosesseista käy root käyttäjän alla.
Ahh, vanha kunnon nohup, mites tuo olikin paassyt unohtumaan itselta kokonaan, on nakojaan ihan liian monta vuotta siita kun viimeksi joutunut saatelemaan asioiden kanssa urakalla Juu, tuohan hoitaa homman mallikkaasti ja helposti - tosin edelleen tuo launchd ratkaisulla saa sen natimmin aina pidettya kaynnissa, mutta kuten mainitsin, launchd:n kanssa joutuu virittelemaan paljon enemman.Jomena kirjoitti: Viimeisessä kommentissakin mentiin vähän aiheen ohi, sillä tärkein kohta on "nohup" (no hangup) [...]Koodi: Valitse kaikki
>nohup /Applications/AirVideo/Contents/MacOS/AirVideo &
Palaa sivulle “Ohjelmointi, skriptit ja palvelimet”
- Yleiset aiheet
- ↳ Ajankohtaista Apple-maailmasta
- ↳ Käyttöjärjestelmät
- ↳ Ohjelmat
- ↳ Yleiskeskustelu
- Mac ja oheislaitteet
- ↳ Yleiskeskustelu laitteista
- ↳ MacBook, MacBook Pro ja MacBook Air
- ↳ iMac
- ↳ Mac mini
- ↳ Mac Pro ja Mac Studio
- ↳ Ongelmia Macin kanssa?
- iPhone, iPad ja Apple Watch
- ↳ iPhone-, iPad- ja Apple Watch -laitekeskustelu
- ↳ iPhone-, iPad- ja Apple Watch -ohjelmat sekä iOS
- ↳ Ongelmia iPhonen, iPadin tai Apple Watchin kanssa?
- Huviksi ja hyödyksi
- ↳ Off-topic
- ↳ Kuva ja graafinen suunnittelu
- ↳ Audio ja musiikki
- ↳ Video, televisio ja elokuvat
- ↳ Pelit ja pelaaminen
- ↳ Ohjelmointi, skriptit ja palvelimet
- ↳ Tietoturva ja varmuuskopiointi
- ↳ Verkot, mobiilidata ja muut puhelimet
- ↳ Retronurkka
- ↳ Foorumin ylläpito
- Kauppapaikka
- ↳ Myydään Mac
- ↳ Myydään iPhone, iPad ja iPod
- ↳ Myydään muut Applen tuotteet
- ↳ Myydään muuta tietotekniikkaa
- ↳ Ostetaan Mac
- ↳ Ostetaan iPhone, iPad ja iPod
- ↳ Ostetaan muut Applen tuotteet
- ↳ Ostetaan muuta tietotekniikkaa
- ↳ Vaihdetaan, annetaan, työtä haetaan ja tarjotaan
- ↳ Kauppapaikan keskustelu ja hintavinkit