• 请不要在回答技术问题时复制粘贴 AI 生成的内容
zmqiang
V2EX  ›  程序员

有没有什么奇淫技巧防止 Linux 程序多开?

  •  
  •   zmqiang · Mar 8, 2022 · 5681 views
    This topic created in 1701 days ago, the information mentioned may be changed or developed.

    除了文件(端口、数据文件等)占用互斥以外,有没有其他方式可以防止一个 Linux 可执行文件,被执行多次形成多个进程?

    22 replies  •  2022-03-09 15:08:25 +08:00
    westoy
    westoy
    Mar 8, 2022
    1
    防多启的话锁一下 pid 文件就行了

    授权限制的话无解的吧, 别人可以放虚拟机里跑啊
    0o0O0o0O0o
    0o0O0o0O0o
    Mar 8, 2022
    2
    先默认你只是要实现这个功能,而不是用这个防破解,那就 shared memory
    lisongeee
    lisongeee
    Mar 8, 2022❤️20
    3
    不好意思偏个题,那叫 《奇技淫巧》不叫 《奇淫技巧》
    ivanshaoaz
    ivanshaoaz
    Mar 8, 2022❤️2
    4
    flock
    oneegg
    oneegg
    Mar 8, 2022 via iPhone
    5
    以前我们用过一个工具,根据网卡 Mac 生成授权(防止在多台机器上运行),然后单机上占用端口(其实单机也无所谓了,不会有太多性能)。或者参考下 oracle 根据 cpu 线程数授权?
    triptipstop
    triptipstop
    Mar 8, 2022
    6
    服务端授权
    Kilerd
    Kilerd
    Mar 8, 2022
    7
    file lock 或者 socket file lock
    ch2
    ch2
    Mar 8, 2022
    8
    用 flock 锁一个 session ,得不到锁的退出
    ETiV
    ETiV
    Mar 8, 2022 via iPhone
    9
    虚拟机太重了,放 docker 里就行
    3dwelcome
    3dwelcome
    Mar 8, 2022 via Android
    10
    列出 process tree ,查自己的名字。
    codehz
    codehz
    Mar 8, 2022 via Android
    11
    把内存吃满,cpu 跑满不就跑不了了?(划掉
    启动后把文件删掉(划掉
    还可以用抽象 socket (也就 unix socket 但是地址第一个字符是\0 )(也划掉
    WeiYuanStudio
    WeiYuanStudio
    Mar 8, 2022
    12
    @lisongeee 你不纠正这个,我都没发现,大脑语义已经自动进行纠错了。
    zmqiang
    zmqiang
    OP
    Mar 8, 2022 via iPhone
    13
    @lisongeee 学习了,没想到一直用错了🤦‍♂️
    LeeReamond
    LeeReamond
    Mar 9, 2022
    14
    @WeiYuanStudio 汉语顺序不响影读阅啊
    ffgrinder
    ffgrinder
    Mar 9, 2022
    15
    我看过一种实践,就是程序运行之后会写一个 lock 文件,退出的时候删除。然后第二次运行的时候会因为这个文件存在而报错?
    ohmycorolla
    ohmycorolla
    Mar 9, 2022
    16
    @lisongeee 我关注到的也是这个 哈哈哈哈
    Davic1
    Davic1
    Mar 9, 2022
    17
    在启动新进程之前 ,先 ps 检查一下有没有同名进程存在, 如果有, 先 kill 在启动.
    sadfQED2
    sadfQED2
    Mar 9, 2022 via Android
    18
    除非服务端授权,不然无解吧,因为可以放虚拟机或者 docker 里面跑啊
    nmap
    nmap
    Mar 9, 2022
    19
    flock 是正解,简单稳定可靠,生产环境都在用
    killva4624
    killva4624
    Mar 9, 2022
    20
    还是得上授权……不然我打个 Docker 镜像就随便用了
    wenzhonghu
    wenzhonghu
    Mar 9, 2022
    21
    奇淫技巧确实不好找。。。
    ghoul5426
    ghoul5426
    Mar 9, 2022
    22
    文件锁不挺好的么,现在 linux 里大把进程,也还是用这种方式。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1645 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 86ms · UTC 23:35 · PVG 07:35 · LAX 15:35 · JFK 18:35
    ♥ Do have faith in what you're doing.