램 디스크를 마운트하는 간단한 스크립트를 작성했습니다.
%> cat /System/Library/LaunchDaemons/ramdisk.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>Ramdisk</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/setup_run_shm</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>UserName</key>
<string>root</string>
</dict>
</plist>
그러나 로그인하면 디스크가 사라졌습니다. 디스크가 마운트 해제 된 것 같습니다. 왜 그런지 잘 모르겠습니다. 에 따르면 /tmp/log.1
오류가 없습니다.
PS는 setup_run_shm 스크립트를 첨부했습니다 :
%> cat /usr/local/bin/setup_run_shm
#!/bin/bash
exec &> /tmp/log.1
date
set -x
size=$(( 1024*1024*8 ))
path=/run/shm/
name="SHM"
if mount | grep -q '/run/shm'; then
echo RAM disk already exist.
echo 'Eject the disk and try again. (e.g hdiutil eject /dev/diskX)'
exit
fi
disk=$(hdiutil attach -nomount ram://"$size")
echo Attached RAM disk $disk
newfs_hfs -v "$name" $disk
echo Formatted RAM disk with name $name
mount -t hfs $disk "$path"
echo Mounted ram disk of size $size to $path