diff --git a/mininet/node.py b/mininet/node.py
index d5b30362ac918bacc3bbaaedf04653fec6600462..a69eda61590777c22b839a073c0b3fb669d67048 100644
--- a/mininet/node.py
+++ b/mininet/node.py
@@ -261,6 +261,9 @@ def monitor( self, timeoutms=None, findPid=True ):
         # Look for PID
         marker = chr( 1 ) + r'\d+\r\n'
         if findPid and chr( 1 ) in data:
+            # Marker can be read in chunks; continue until all of it is read
+            while not re.findall( marker, data ):
+                data += self.read( 1024 )
             markers = re.findall( marker, data )
             if markers:
                 self.lastPid = int( markers[ 0 ][ 1: ] )