我的程序代码如下:
using namespace std;
int main()
{
printf("start to mount ****** \n");
int ret;
ret = mount("/dev/sdc", "/mnt/test", "ext4", 0, NULL);
if(ret != 0) {
printf("mount failed\n");
throw;
}else {
printf("mount successful");
}
sleep(1000000);
}
我通过 g++ test.cc -o mount-test -g 生成可执行文件 mount-test.
如果我在终端直接输入 ./mount-test 运行程序, 则可将/dev/sdc成功挂载到/mnt/test。
如果我通过systemd启动mount-test程序, systemd的脚本如下:
[root@localhost system]# cat mount-test.service
[Unit]
Description=mount test service
After=network.target
[Service]
ExecStart=/root/mount-test
PrivateTmp=true
[Install]
WantedBy=multi-user.target
我运行 systemctl start mount-test , 服务起来后,没有抛出异常, mount函数返回值正确,但是设备却没有挂载上。
sudo mount -t ntfs /dev/you/ntfs/partition /mnt/somewhere /dev/you/ntfs/partition may bee /dev/sda1 etc.
答案来源于网络
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。