Zoccoli in * .plist [chiuso]

1

La mia app deve creare un socket di sistema (unico indipendentemente dal numero di utenti sul Mac). Sto usando un * .plist a tal fine:

<key>Sockets</key>
<dict>
    <key>Listener</key>
    <dict>
        <key>SockPathMode</key>
        <integer>438</integer><!-- 0666 -->
        <key>SockPathName</key>
        <string>/var/tmp/myApp.socket</string>
    </dict>
</dict>

Recentemente ho avuto un bug report che è stato abbastanza doloroso da eseguire il debug, e alla fine è apparso che l'errore era dovuto all'utente che non aveva una directory /var/tmp . Quindi le mie domande sono:

  • che cosa posso fare per ottenere messaggi di errore più significativi quando non è possibile creare il socket?
  • cosa posso fare per ottenere la directory creata se non esiste?
  • è /var/tmp il posto giusto per tali socket? Dovrei invece optare per /tmp ? O qualche altra directory?

Modifica

FWIW, ho appena notato che in /var/run sembrano esserci alcuni socket, alcuni abbastanza importanti da considerare il Mac non utilizzabile se mancasse la directory.

$ ls -l /var/run
total 88
-rw-------  1 root             daemon              0 19 jan 15:24 automount.initialized
drwxr-xr-x  3 _assetcache      _assetcache        96 19 jan 15:26 com.apple.AssetCache
----------  1 root             daemon              0 19 jan 15:24 com.apple.WindowServer.didRunThisBoot
-rw-------  1 root             daemon              4 22 jan 11:14 com.apple.dt.instruments.servicehub_63755_505.pid
-r--------  1 root             daemon              0 19 jan 15:24 com.apple.loginwindow.didRunThisBoot
-r--------  1 root             daemon              0 19 jan 15:24 com.apple.mdmclient.daemon.didRunThisBoot
-rw-------  1 root             daemon              0 20 jan 12:16 com.apple.parentalcontrols.webfilterctl.mutex
-rw-r--r--  1 root             daemon              0 20 jan 11:48 com.apple.softwareupdate.availableupdatesupdated
drwxr-xr-x  3 root             daemon             96 19 jan 15:29 com.apple.xpc.smd
srwxrwxrwx  1 root             daemon              0 19 jan 15:24 cupsd
-rw-r--r--  1 root             daemon              3 19 jan 15:24 diskarbitrationd.pid
drwxr-xr-x  3 _displaypolicyd  _displaypolicyd    96 19 jan 15:24 displaypolicyd
lrwxr-xr-x  1 root             daemon             57 22 jan 11:44 docker.sock -> /Users/akim/Library/Containers/com.docker.docker/Data/s60
-rw-r--r--  1 root             daemon             16 19 jan 15:24 fudinit
-rw-r--r--  1 root             daemon              6 21 jan 13:20 hdiejectd.pid
-rw-r--r--  1 root             daemon              3 19 jan 15:24 kdc.pid
srw-rw-rw-  1 root             daemon              0 19 jan 15:24 mDNSResponder
drwx------  3 root             daemon             96 21 jan 13:21 mds
-rw-r--r--  1 root             daemon              3 19 jan 15:24 mds.pid
srwxrwxrwx  1 root             daemon              0 19 jan 15:24 portmap.socket
srwxrwxrwx  1 root             daemon              0 19 jan 15:24 pppconfd
drwxr-xr-x  4 root             daemon            128 19 jan 15:24 racoon
-rw-r--r--  1 root             daemon              4 19 jan 15:24 racoon.pid
-rw-r--r--  1 root             daemon            379 22 jan 13:30 resolv.conf
srw-rw-rw-  1 root             daemon              0 19 jan 15:24 syslog
-rw-r--r--@ 1 root             daemon              3 19 jan 15:24 syslog.pid
-r--r--r--  1 root             daemon              0 19 jan 15:24 systemkeychaincheck.done
srw-rw-rw-  1 root             daemon              0 19 jan 15:24 systemkeychaincheck.socket
srwxrwxrwx  1 root             daemon              0 19 jan 15:24 usbmuxd
-rw-r--r--@ 1 root             daemon           5652 22 jan 11:44 utmpx
srw-------  1 root             daemon              0 19 jan 15:24 vpncontrol.sock
-rw-r--r--  1 root             wheel               0 19 jan 15:24 wifi
    
posta akim 22.01.2018 - 11:56
fonte

0 risposte

Leggi altre domande sui tag